【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 = 0;
        public int usergrade = 1;

        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 == 0) { //根據我登錄的用戶名和id,把word表的信息讀取出來 //查詢User表獲取用戶名和id DataSet _ds = _u.GetList(); if(_ds != null) { DataTable _dt = _ds.Tables[0]; for (int i = 0; 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[0]; for (int i = 0; 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, 0); //編號 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 * 10, 930); } } } }
       //到這里結束
//審批者權限 else if (usergrade == 1) { } //執行者權限 else if (usergrade == 2) { } } 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 = "0"; //登錄人 _ucItem.tb_uploader.Text = this.tb_name.Text; //當前狀態 _ucItem.cb_type2.Text = ""; //審批狀態 _ucItem.loadCombobox(); //初始化信息添加到新建中 sp_1.Children.Add(_ucItem); Canvas.SetLeft(_ucItem, 0); sp_1.Height = Math.Max(sp_1.Children.Count * 10 ,930); } 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(); } } }

 

結果圖:

點擊登錄后上一次保存的數據就顯示出來了。

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM