namespace DemoDataTable
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
DataTable dtData = new DataTable();
private void Form1_Load(object sender, EventArgs e)
{
KhoiTaoCauTruc();
loadData();
}
private void KhoiTaoCauTruc()
{
// Khoi tao cau truc DataTable
dtData.Columns.Add("TT", typeof(int));
dtData.Columns.Add("Ten", typeof(String));
dtData.Columns.Add("Lop", typeof(String));
dtData.Columns.Add("Diem", typeof(int));
//
}
private void loadData()
{
// cách 1
dtData.Rows.Add(1,"Tran A","Lop A",2);
dtData.Rows.Add(2, "Tran B", "Lop A", 5);
// cách 2:
DataRow drNew = dtData.NewRow();
drNew["TT"] = 3;
drNew["Ten"] = "Le Binh";
drNew["Lop"] = "Lop B";
drNew["Diem"] = 8;
dtData.Rows.Add(drNew);
//
for(int i=4;i<=10;i++)
{
DataRow drAdd2 = dtData.NewRow();
drAdd2["TT"] = 4;
drAdd2["Ten"] = "Nguyen "+ i.ToString();
drAdd2["Lop"] = "Lop C";
drAdd2["Diem"] = 9 ;
dtData.Rows.Add(drAdd2);
}
//
dataGridView1.DataSource = dtData;
}
private void textBox1_TextChanged(object sender, EventArgs e)
{ //5- " OR (Diem>=5 AND Diem<=")";
string nd = textBox1.Text;
// 5-8: {tudiem}=5 , {dendiem}=8
string tudem = "0";
string dendiem = "10";
string where_diem = "";
//
if(nd.Contains("-"))
{
tudem = nd.Split('-')[0];
dendiem = nd.Split('-')[1];
if(dendiem!=string.Empty)
where_diem = " OR (Diem>="+tudem+" AND Diem<="+dendiem+")";
}
DataView dv = dtData.DefaultView;
dv.RowFilter = "Ten Like '%" + nd
+ "%' OR Lop Like '%" + nd + "%' "+ where_diem;
}
}
}
Sử dụng DefaultView và Row RowFilter DataTable trong C#