(应博友们的需要,在文章评论处有源码链接地址,以及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学习笔记】之如何把数据库里的值读取出来然后显示在页面上:动画系列之(六)(评论处有学习资料及源码)的更多相关文章

  1. JSP读取Oracle数据库里的图片Blob字段并显示在页面上

    1.java代码: /** * 打印模板获取电子签名 * @param request * @param resp * @param id * @return * @throws Exception ...

  2. golang学习笔记16 beego orm 数据库操作

    golang学习笔记16 beego orm 数据库操作 beego ORM 是一个强大的 Go 语言 ORM 框架.她的灵感主要来自 Django ORM 和 SQLAlchemy. 目前该框架仍处 ...

  3. WPF-学习笔记 动态修改控件Margin的值

    原文:WPF-学习笔记 动态修改控件Margin的值 举例说明:动态添加一个TextBox到Grid中,并设置它的Margin: TextBox text = new TextBox(); t_gri ...

  4. JavaWeb和WebGIS学习笔记(四)——使用uDig美化地图,并叠加显示多个图层

    系列链接: Java web与web gis学习笔记(一)--Tomcat环境搭建 Java web与web gis学习笔记(二)--百度地图API调用 JavaWeb和WebGIS学习笔记(三)-- ...

  5. C#学习笔记(基础知识回顾)之值类型与引用类型转换(装箱和拆箱)

    一:值类型和引用类型的含义参考前一篇文章 C#学习笔记(基础知识回顾)之值类型和引用类型 1.1,C#数据类型分为在栈上分配内存的值类型和在托管堆上分配内存的引用类型.如果int只不过是栈上的一个4字 ...

  6. C#学习笔记(基础知识回顾)之值传递和引用传递

    一:要了解值传递和引用传递,先要知道这两种类型含义,可以参考上一篇 C#学习笔记(基础知识回顾)之值类型和引用类型 二:给方法传递参数分为值传递和引用传递. 2.1在变量通过引用传递给方法时,被调用的 ...

  7. C#学习笔记(基础知识回顾)之值类型和引用类型

    一:C#把数据类型分为值类型和引用类型 1.1:从概念上来看,其区别是值类型直接存储值,而引用类型存储对值的引用. 1.2:这两种类型在内存的不同地方,值类型存储在堆栈中,而引用类型存储在托管对上.存 ...

  8. Android学习笔记(十七)——数据库操作(下)

    //此系列博文是<第一行Android代码>的学习笔记,如有错漏,欢迎指正! 这一次我们来试一试升级数据库,并进行数据库的CRUD操作,其中, C 代表添加(Create) ,R 代表查询 ...

  9. SQL server2005学习笔记(一)数据库的基本知识、基本操作(分离、脱机、收缩、备份、还原、附加)和基本语法

    在软件测试中,数据库是必备知识,假期闲里偷忙,整理了一点学习笔记,共同探讨. 阅读目录 基本知识 数据库发展史 数据库名词 SQL组成 基本操作 登录数据库操作 数据库远程连接操作 数据库分离操作 数 ...

随机推荐

  1. jquery text

    scenario: need to display raw xml, what does text() method do: <> converted to <> i.e. 把 ...

  2. 恶补一下DP+背包专题(刷刷水题)L2

    开心的金明 题目大意 就是求一定背包容量的最大值 思路 想必大家都知道,一看到这种题目,就会想起01背包 虽然特别简单但是还是讲一下吧 状态设置 由于这题差不多是一个01背包的版子题,那么我们就只需要 ...

  3. FZU2187 回家种地(矩形面积并)

    矩形面积并(只覆盖一次的面积)的裸题.好久没写代码debug了我太久,太辛酸了. #pragma warning(disable:4996) #include <iostream> #in ...

  4. hdu 2521 反素数(打表)

    反素数 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submiss ...

  5. 洛谷——P1962 斐波那契数列

    P1962 斐波那契数列 题目背景 大家都知道,斐波那契数列是满足如下性质的一个数列: • f(1) = 1 • f(2) = 1 • f(n) = f(n-1) + f(n-2) (n ≥ 2 且 ...

  6. POJ 2411 Mondriaan's Dream [经典状态压缩dp]

    题意:略. 思路:这一题开始做的时候完全没有思路,便去看了别人的题解. 首先,对于这个题目解法想有一个初步的了解,请看这里:http://www.2cto.com/kf/201208/146894.h ...

  7. 改变Ubuntu控制台字体大小(转)

    输入 sudo dpkg-reconfigure console-setup 选择一个适合的字体和字号即可. 参考: http://www.codeweblog.com/%E6%94%B9%E5%8F ...

  8. Geoserver跨域问题

    1 Geoserver位war包,使用Tomcat发布的情况 由于geoserver为war形式,需要解决tomcat跨域问题,geoserver版本为2.9.1. (1)下载跨域war包 下载cor ...

  9. Android Retrofit RxJava实现缓存

    RxJava如何与Retrofit结合参考:http://blog.csdn.net/jdsjlzx/article/details/52015347 缓存配置 app网络数据的离线缓存实现有很多种办 ...

  10. 快速销售订单 - OM:销售订单表单:级联行题头更改

    PROFILE OM:销售订单表单:级联行题头更改