【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的桌面上创建快捷方式或启动器
如果在Linux桌面系统中你经常使用一个程序,你可能想去创建一个“桌面快捷方式”,以便于你在桌面只要点击一下快捷方式就可以启动它.虽然不少带有图形界面的程序会在安装时自动在桌面上创建快捷方式,还有一些 ...
- Java 实现多线程切换等待唤醒交替打印奇偶数
引言 在日常工作生活中,可能会有用时几个人或是很多人干同一件事,在java编程中,同样也会出现类似的情况,多个线程干同样一个活儿,比如火车站买票系统不能多个人买一到的是同一张票,当某个窗口(线程)在卖 ...
- 转:java多线程CountDownLatch及线程池ThreadPoolExecutor/ExecutorService使用示例
java多线程CountDownLatch及线程池ThreadPoolExecutor/ExecutorService使用示例 1.CountDownLatch:一个同步工具类,它允许一个或多个线程一 ...
- main函数参数
方法1. C/C++语言中的main函数,经常带有参数argc,argv,如下: int main(int argc, char** argv) int main(int argc, char* ar ...
- JavaScript 深克隆
深克隆 function judgeType(arg){//判断js数据类型 return Object.prototype.toString.call(arg).slice(8,-1); } fun ...
- 调整type="file"时的input的
<input type="file"> 在ie下的视图如下 而在firefox下的是 一般为了界面美化的效果,会将其设置为透明,然后覆盖一个<a href = & ...
- antialiasing
Aliasing发生的原因在于,采样频率过低, 这样就无法重建更接近原来texture的图像, Temporal aliasing在时域上 采的texture 次数太少 不能重建真实 是帧与帧之间,s ...
- linux中tr用法
tr命令不能直接从文件中读取并转换文本,因此通常都使用重定向输入或者管道传递方法: -s 代替掉重复的字符 #echo "HHHHHHEEEElllooooo" | tr -s ' ...
- GlusterFS源代码解析 —— GlusterFS 内存分配方式
原文地址:http://blog.csdn.net/wangyuling1234567890/article/details/24564891 GlusterFS 的内存分配主要有两种方式,一种是内存 ...
- > 1366 - Incorrect string value: '\xE6\xB5\x8B\xE8\xAF\x95...' for column 'description' at row 1 字符串格式错误
mysql 执行insert时报错 > 1366 - Incorrect string value: '\xE6\xB5\x8B\xE8\xAF\x95...' for column 'desc ...