【WPF学习笔记】之如何把数据库里的值读取出来然后显示在页面上:动画系列之(六)(评论处有学习资料及源码)
(应博友们的需要,在文章评论处有源码链接地址,以及WPF学习资料、工具等,希望对大家有所帮助)
......
承接系列五
上一节讲了,已经把数据保存到数据库并且删除数据,本讲是把已经存在的数据从数据库里读取出来,显示在页面上。
主页面后台代码:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
using System.Data.SqlClient;
using User.sqlHelper;
using System.Data;
using System.IO;
using System.Drawing; namespace User
{
/// <summary>
/// MainWindow.xaml 的交互逻辑
/// </summary>
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
} string ss = "";
public static string name = "";
int id = ;
public int usergrade = ; private void Window_Loaded(object sender, RoutedEventArgs e)
{
myHelper.showWarnMessage += new myHelper.ShowWarnMessage(myHelper_showWarnMessage);
} //传递登录界面的用户名
User_test _u = new User_test();
void myHelper_showWarnMessage(string _str)
{
//获取用户名
string _msg = _str;
//传递名字到主页面
name = tb_name.Text = _msg;
//根据用户名得到权限
usergrade = _u.getUserGrade(tb_name.Text);
//从这里开始
//申请者权限
if (usergrade == )
{
//根据我登录的用户名和id,把word表的信息读取出来
//查询User表获取用户名和id
DataSet _ds = _u.GetList();
if(_ds != null)
{
DataTable _dt = _ds.Tables[];
for (int i = ; i < _dt.Rows.Count; i++)
{
int userid = int.Parse(_dt.Rows[i]["UserID"].ToString().Trim());
string username = _dt.Rows[i]["UserName"].ToString().Trim();
//如果画面登录的用户名与user表的名字一致,则取出表里的id
if (tb_name.Text.Equals(username))
{
id = userid;
}
}
} Word _w = new Word();
_ds = _w.GetList();
if(_ds != null)
{
DataTable _dt = _ds.Tables[];
for (int i = ; i < _dt.Rows.Count; i++)
{
int submitterid = int.Parse(_dt.Rows[i]["SubmitterID"].ToString().Trim());
//如果word表取出的id与user表id一致,则把word表里的数据都取出来
if (id.Equals(submitterid))
{
//初始化用户控件2的属性,然后一一赋值
uc_item item = new uc_item();
item.loadCombobox();
sp_1.Children.Add(item);
Canvas.SetLeft(item, ); //编号
ss = item.tb_id.Text = _dt.Rows[i]["WordID"].ToString().Trim();
//提交人
item.tb_uploader.Text = _u.getUserName(int.Parse(_dt.Rows[i]["WordID"].ToString().Trim()));
//当前状态
item.cb_type2.Text = _dt.Rows[i]["CurrentStatus"].ToString().Trim();
//提交状态
item.cb_type.Text = _dt.Rows[i]["SubmitStatus"].ToString().Trim();
//内容
item.tb_describe.Text = _dt.Rows[i]["WordDescribe"].ToString().Trim();
//提交日期
item.dp_date.Text = _dt.Rows[i]["SubmitTime"].ToString().Trim();
//最后更新时间
item.dp_date2.Text = _dt.Rows[i]["LastTime"].ToString().Trim(); //设置数据显示条的高度
sp_1.Height = Math.Max(sp_1.Children.Count * , ); }
}
}
}
//到这里结束
//审批者权限
else if (usergrade == )
{ }
//执行者权限
else if (usergrade == )
{ }
} public static bool isnew = false; //新建时嵌套另一个用户控件2在主页面上
private void btn_new_Click(object sender, RoutedEventArgs e)
{
isnew = true;
//新建
uc_item _ucItem = new uc_item();
//设置号码初始化
//编号
_ucItem.tb_id.Text = "";
//登录人
_ucItem.tb_uploader.Text = this.tb_name.Text;
//当前状态
_ucItem.cb_type2.Text = "未";
//审批状态
_ucItem.loadCombobox(); //初始化信息添加到新建中
sp_1.Children.Add(_ucItem);
Canvas.SetLeft(_ucItem, );
sp_1.Height = Math.Max(sp_1.Children.Count * ,); } private void btn_nosolve_Click(object sender, RoutedEventArgs e)
{ } private void btn_solve_Click(object sender, RoutedEventArgs e)
{ } private void btn_back_Click(object sender, RoutedEventArgs e)
{
sp_1.Children.Clear();
my_uc_login.showLogin();
} internal static void VisibilityProperty()
{
throw new NotImplementedException();
}
}
}
结果图:
点击登录后上一次保存的数据就显示出来了。
【WPF学习笔记】之如何把数据库里的值读取出来然后显示在页面上:动画系列之(六)(评论处有学习资料及源码)的更多相关文章
- JSP读取Oracle数据库里的图片Blob字段并显示在页面上
1.java代码: /** * 打印模板获取电子签名 * @param request * @param resp * @param id * @return * @throws Exception ...
- golang学习笔记16 beego orm 数据库操作
golang学习笔记16 beego orm 数据库操作 beego ORM 是一个强大的 Go 语言 ORM 框架.她的灵感主要来自 Django ORM 和 SQLAlchemy. 目前该框架仍处 ...
- WPF-学习笔记 动态修改控件Margin的值
原文:WPF-学习笔记 动态修改控件Margin的值 举例说明:动态添加一个TextBox到Grid中,并设置它的Margin: TextBox text = new TextBox(); t_gri ...
- JavaWeb和WebGIS学习笔记(四)——使用uDig美化地图,并叠加显示多个图层
系列链接: Java web与web gis学习笔记(一)--Tomcat环境搭建 Java web与web gis学习笔记(二)--百度地图API调用 JavaWeb和WebGIS学习笔记(三)-- ...
- C#学习笔记(基础知识回顾)之值类型与引用类型转换(装箱和拆箱)
一:值类型和引用类型的含义参考前一篇文章 C#学习笔记(基础知识回顾)之值类型和引用类型 1.1,C#数据类型分为在栈上分配内存的值类型和在托管堆上分配内存的引用类型.如果int只不过是栈上的一个4字 ...
- C#学习笔记(基础知识回顾)之值传递和引用传递
一:要了解值传递和引用传递,先要知道这两种类型含义,可以参考上一篇 C#学习笔记(基础知识回顾)之值类型和引用类型 二:给方法传递参数分为值传递和引用传递. 2.1在变量通过引用传递给方法时,被调用的 ...
- C#学习笔记(基础知识回顾)之值类型和引用类型
一:C#把数据类型分为值类型和引用类型 1.1:从概念上来看,其区别是值类型直接存储值,而引用类型存储对值的引用. 1.2:这两种类型在内存的不同地方,值类型存储在堆栈中,而引用类型存储在托管对上.存 ...
- Android学习笔记(十七)——数据库操作(下)
//此系列博文是<第一行Android代码>的学习笔记,如有错漏,欢迎指正! 这一次我们来试一试升级数据库,并进行数据库的CRUD操作,其中, C 代表添加(Create) ,R 代表查询 ...
- SQL server2005学习笔记(一)数据库的基本知识、基本操作(分离、脱机、收缩、备份、还原、附加)和基本语法
在软件测试中,数据库是必备知识,假期闲里偷忙,整理了一点学习笔记,共同探讨. 阅读目录 基本知识 数据库发展史 数据库名词 SQL组成 基本操作 登录数据库操作 数据库远程连接操作 数据库分离操作 数 ...
随机推荐
- Linux下的软连接和硬链接
由于教学上的原因,需要下载Android源码,后来使用repo时,系统提示需要python2,我的系统中是两个都有的,但是默认是python3,无法下载,通过创建了个链接搞定,下面就来说说linux下 ...
- Python学习杂记_9_集合操作
集合集合是由花括号括起来的一组数据,特点是“数据不重复”,“无序”,“类型不统一”.其中数据不重复是它最重要的特点,常常用于“去重”操作,Set(list)方法可以把列表强制转换成集合. 集合的一些操 ...
- OSX 系统无法直接用 Chrome 双击点击打开本地 html 文件
在 Mac OS X 下,文件经常会被附加上 OS X 特有的扩展属性 ( extend attributes ),具体表现是用 ls -l 查看时会有 @ 的标记,譬如: $ ls -l index ...
- angular6安装
中文 https://www.angular.cn/ 二.下载 1.安装 node.js https://nodejs.org/en/ 2.删除老angular-cli npm uninstall - ...
- FZU 1056 扫雷游戏【搜索】
Accept: 2584 Submit: 6790Time Limit: 1000 mSec Memory Limit : 32768 KB Problem Description 扫雷是 ...
- [java基础] 002 - 位运算符的详解和妙用
一:位运算符详解 位运算符主要用来对操作数二进制的位进行运算.按位运算表示按每个二进制位(bit)进行计算,其操作数和运算结果都是整型值. Java 语言中的位运算符分为位逻辑运算符和位移运算符两类, ...
- 深入SQL SERVER 2000的内存管理机制
http://www.cnblogs.com/softj/articles/243591.html
- 适配iOS7之—UITableView和UISearchBar
iOS7中,如果用UITableViewStyleGrouped的话,里面的cell会比原来的拉长了,这样做应该是为了统一和UITableViewStylePlain风格时cell的大小一致,所以改用 ...
- 8 Most Required Examples Reference For Oracle Forms
Check the following 8 Links for best Oracle Forms examples with source code (Fmb files), which will ...
- ssh配置含义解释
ssh包括客户端配置(ssh_config)和服务端配置(sshd_config) 一.客户端配置ssh_config,客户端软件有SecureCRT.putty.Xshell等 “#”表示注释,虽然 ...