Posted by : NGUYEN ANH DUNG
Monday, October 13, 2014
public class Lop
{
private string strm;
private string strTen;
private string strGV;
//public string MaLop { get; set; }
//public string TenLop { get; set; }
//public string GV { get; set; }
public Lop()
{ }
public Lop(string m, string t, string gv)
{ MaLop = m;TenLop = t;GV = gv;}
public string MaLop
{
get
{//throw new System.NotImplementedException();
return strm;}
set {strm = value;}
}
public string TenLop
{
get{//throw new System.NotImplementedException();
return strTen;}
set{strTen = value;}
}
public string GV
{
get{ //throw new System.NotImplementedException();
return strGV;}
set{strGV = value;}
}
}
----------------------
public class SinhVien
{
public string MaSV { get; set; }
public string HoTen { get; set; }
public string MaLop { get; set; }
public SinhVien(string msv, string ht, string mlop)
{
MaSV = msv;
HoTen = ht;
MaLop = mlop;
}
public SinhVien()
{
}
}
-----------------------
public partial class frmJoin : Form
{
public frmJoin()
{
InitializeComponent();
}
List<Lop> LstLop;
SinhVien[] SV;
private void btnThoat_Click(object sender, EventArgs e)
{
this.Close();
}
private void frmJoin_Load(object sender, EventArgs e)
{
//tạo list cách 1
LstLop = new List<Lop>
{
new Lop("L1", "Đại HTH 6", "Nguyễn Văn Thắng"),
new Lop("L2", "Đại HTH 7", "Phạm Quảng Tri"),
new Lop("L3", "Đại HTH 8", "Nguyễn Thị Hồng Minh"),
};
//tạo list cách 2
SV = new SinhVien[]
{
new SinhVien("01", "Nguyễn Tấn Dũng","L1"),
new SinhVien("02", "Lê Thanh Hải","L1"),
new SinhVien("03", "Lê Trọng Tấn","L3"),
new SinhVien("04", "Ngô Đình Nhu","L2x"),
new SinhVien("05", "Ngô Đình Diệm","L3"),
new SinhVien("06", "Lê Thánh Tông","L1"),
new SinhVien("07", "Lê Thanh Hải","L1"),
new SinhVien("08", "Lê Thi Riêng","L2")
};
}
private void btnLop_Click(object sender, EventArgs e)
{
IEnumerable<Lop> iLop = from l in LstLop
select l;
foreach (Lop item in iLop)
{
ListViewItem lvwItem = new ListViewItem();
lvwItem.Text = item.MaLop;
lvwItem.SubItems.Add(item.TenLop);
lvwItem.SubItems.Add(item.GV);
lvwLop.Items.Add(lvwItem);
}
}
private void btnSV_Click(object sender, EventArgs e)
{
IEnumerable<SinhVien> iSV = from Items in SV
select Items;
foreach (SinhVien item in iSV)
{
ListViewItem lvwItem = new ListViewItem();
lvwItem.Text = item.MaSV;
lvwItem.SubItems.Add(item.HoTen);
lvwItem.SubItems.Add(item.MaLop);
lvwSinhVien.Items.Add(lvwItem);
}
}
private void btnSVLop_Click(object sender, EventArgs e)
{
var LopSV =
from l in LstLop
join isv in SV on l.MaLop equals isv.MaLop
select new { isv.MaSV,isv.HoTen, l.TenLop};
foreach (var item in LopSV)
{
ListViewItem lvwItem = new ListViewItem();
lvwItem.Text = item.MaSV;
lvwItem.SubItems.Add(item.HoTen);
lvwItem.SubItems.Add(item.TenLop);
lvwLopSV.Items.Add(lvwItem);
}
}
private void btnGroup_Click(object sender, EventArgs e)
{
var svg=
from itemsv in SV
group itemsv by itemsv.HoTen into svGroup
orderby svGroup.Key
select new {ht= svGroup, sluong= svGroup.Count()};
lvwGroup.Columns.Clear();
lvwGroup.Items.Clear();
lvwGroup.Columns.Add("Họ Tên SV",200, HorizontalAlignment.Left);
lvwGroup.Columns.Add("Số Lượng", 100, HorizontalAlignment.Right);
lvwGroup.View = View.Details;
foreach (var item in svg)
{
ListViewItem lvwItem = new ListViewItem();
lvwItem.Text = item.ht.Key;
lvwItem.SubItems.Add(item.sluong.ToString());
lvwGroup.Items.Add(lvwItem);
}
}
private void btnGroupSVLop_Click(object sender, EventArgs e)
{
var LSV =
from l in LstLop
join isv in SV on l.MaLop equals isv.MaLop
group new {l, isv} by new {l.TenLop, isv.MaLop, l.GV } into LopSV
select new { LopSV.Key.MaLop, LopSV.Key.TenLop, LopSV.Key.GV , SoLuong = LopSV.Count() };
lvwGroup.Columns.Clear();
lvwGroup.Items.Clear();
lvwGroup.Columns.Add("Mã Lớp", 100, HorizontalAlignment.Left);
lvwGroup.Columns.Add("Tên Lớp", 200, HorizontalAlignment.Left);
lvwGroup.Columns.Add("Giáo Viên", 200, HorizontalAlignment.Left);
lvwGroup.Columns.Add("Số Lượng SV", 100, HorizontalAlignment.Right);//international standards
lvwGroup.View = View.Details;
foreach (var item in LSV)
{
ListViewItem lvwItem = new ListViewItem();
lvwItem.Text = item.MaLop;
lvwItem.SubItems.Add(item.TenLop);
lvwItem.SubItems.Add(item.GV);
lvwItem.SubItems.Add(item.SoLuong.ToString());
lvwGroup.Items.Add(lvwItem);
}
}
}
