Đưa dữ liệu từ nhiều bảng vào TreeView chọn từ TreeView đưa ra DataGridView Bài 2
Trong bài này chúng ta sẽ đưa dữ liệu từ các bảng ở bài 1 vào TreeView.
Tạo TreeView mới và xây dựng hàm sau:
private void LoadTreeViwew()
{
DataTable BangKhoa = abc.Lay_khoa();
for (int i = 0; i < BangKhoa.Rows.Count; i++)
{
string Makhoa = BangKhoa.Rows[i]["makhoa"].ToString();
string Tenkhoa = BangKhoa.Rows[i]["tenkhoa"].ToString();
TreeNode node1 = new TreeNode(Tenkhoa);
tvwMenuRight.Nodes.Add(node1);
DataTable BangNganh = abc.Lay_nganh(Makhoa);
for (int j = 0; j < BangNganh.Rows.Count; j++)
{
string MaNganh = BangNganh.Rows[j]["manganh"].ToString();
string TenNganh = BangNganh.Rows[j]["tennganh"].ToString();
TreeNode node11 = new TreeNode(TenNganh);
//node11.Checked = true;
tvwMenuRight.Nodes[i].Nodes.Add(node11);
DataTable BangLop = abc.Lay_lop(MaNganh) ;
for (int k = 0; k < BangLop.Rows.Count; k++)
{
string MaLop = BangLop.Rows[k]["malop"].ToString();
string TenLop = BangLop.Rows[k]["tenlop"].ToString();
TreeNode node111 = new TreeNode(MaLop);
//node11.Checked = true;
tvwMenuRight.Nodes[i].Nodes[j].Nodes.Add(node111);
// CheckBox chk = new CheckBox();
// chk.Name = MaLop;
// chk.Text = TenLop;
// this.Controls.Add(chk);
}
}
// TreeNode node1 = new TreeNode(SubjectName,SubjectID);
}
}
Hàm này được gọi trong phần LoadForm.
Tại sự kiện click của TreeView viết code sau:
dGV.DataSource = abc.Lay_diem_theo_hocki_lop(Convert.ToString(tvwMenuRight.SelectedNode.Text), Convert.ToString(cmbhocki.SelectedValue), 1);
(hình 2)
Người viết: Nguyễn Dũng