Sunday, April 01, 2012

Bài Tập C# Nâng Cao 3 Tier - Load Data Vào TreeView

Tài Liệu Thực Hành - Download File Access
Thiết kế Theo Hình sau
Thiết kế như trong ảnh
B2 Viết Code Cho 3 Tầng

Tầng Data gồm 2 class(ketnoi và clsdulieuSV)

namespace TangDuLieu
{
    public class KetNoi
    {
        private OleDbConnection con;
        public OleDbConnection Con
        {
            set { con = value; }
            get { return this.con; }
        }

        public KetNoi()
        {
            Con = new OleDbConnection("Provider= Microsoft.ACE.OLEDB.12.0 ; Data Source=QLSVien.accdb");
        }

        public DataSet getdataset(string sql,string tenbang)
        {
            Con.Open();
            DataSet ds = new DataSet();
            OleDbDataAdapter da = new OleDbDataAdapter(sql,Con);
            da.Fill(ds,tenbang);
            return ds;
         }
    }
}

namespace TangDuLieu
{
    public class clsDuLieuSV:KetNoi
    {
        public clsDuLieuSV() : base() { }

        public DataSet getDataSV()
        {
            string sql = @"Select * From SinhVien";
            return getdataset(sql,"SinhVien");
            
        }

    }
}



Tầng Xử Lý 

namespace TangXuLy
{
    public class clsXuLySV
    {
        clsDuLieuSV objsv = new clsDuLieuSV();
        public DataSet GetThongTinSV()
        {
            return objsv.getDataSV();

        }
    }
}

Tầng Form

namespace PR_ontapTree
{
    public partial class FrmMain : Form
    {
        public FrmMain()
        {
            InitializeComponent();
        }

        # region khai bao chung

        clsXuLySV objSV = new clsXuLySV();
        DataSet dsSV;
        DataTable tblSV;


        #endregion

        private void FrmMain_Load(object sender, EventArgs e)
        {

            dsSV = objSV.GetThongTinSV();
            tblSV = dsSV.Tables[0];

            loadTreeView(tblSV, TreeSV);
        }

        void loadTreeView(DataTable tbl, TreeView tree)
        {
            TreeNode Nodecha, Nodecon;
            foreach(DataRow drw in tbl.Rows)
            {
            Nodecha =new TreeNode();
                Nodecha.Text="Tên Sinh Viên"+ drw["HoTen"].ToString();
                Nodecha.Tag = drw;
                foreach(DataRow dr in tbl.Rows)
                {
                    Nodecon = new TreeNode();
                    Nodecon.Text=dr["MaSV"].ToString();
                    Nodecon.Nodes.Add(dr["NgaySinh"].ToString());
                    Nodecon.Nodes.Add(dr["DienThoai"].ToString());
                    Nodecon.Tag = dr;
                    Nodecha.Nodes.Add(Nodecon);
                }
                tree.Nodes.Add(Nodecha);
            }
        
        }

        private void TreeSV_AfterSelect(object sender, TreeViewEventArgs e)
        {
            DataRow drw;
            if(TreeSV.SelectedNode!=null)
            {
                if (TreeSV.SelectedNode.Parent == null)
                {
                    drw = (DataRow)TreeSV.SelectedNode.Tag;

                }
                
            }
        }
       
    }
}




Chúc các bạn thành công

Chuyên mục: