初始化:
public DataTable1() { InitializeComponent(); Init(); } private void Init() { dt = new DataTable("cart"); DataColumn dc1 = new DataColumn("prizename", Type.GetType("System.String")); DataColumn dc2 = new DataColumn("point", Type.GetType("System.Int16")); DataColumn dc3 = new DataColumn("number", Type.GetType("System.Int16")); DataColumn dc4 = new DataColumn("totalpoint", Type.GetType("System.Int64")); DataColumn dc5 = new DataColumn("prizeid", Type.GetType("System.String")); DataColumn dc6 = new DataColumn("Timer", Type.GetType("System.DateTime")); dt.Columns.Add(dc1); dt.Columns.Add(dc2); dt.Columns.Add(dc3); dt.Columns.Add(dc4); dt.Columns.Add(dc5); dt.Columns.Add(dc6); //以上代碼完成了DataTable的構架,但是里面是沒有任何數據的 //Random r = new Random(); for (int i = 0; i < 10; i++) { //int a = r.Next(1, 100); DataRow dr = dt.NewRow(); dr["prizename"] = "娃娃"+i; dr["point"] = 10; dr["number"] = i; dr["totalpoint"] = 10; dr["prizeid"] = "001"; dr["Timer"] = DateTime.Now.AddDays(i); dt.Rows.Add(dr); } dataGridView1.DataSource = dt; }
查詢:
private void select_Click(object sender, EventArgs e) { DateTime dtend = dateTimePicker1.Value; DateTime dtstart = dateTimePicker2.Value; var dd = dt.AsEnumerable(); //方法1 //var dtr = (from stu in dd // where stu.Field<System.DateTime>("Timer") >= dtstart // where stu.Field<System.DateTime>("Timer") <= dtend // select stu); //var res1 = dd.Where(x => x.Field<int>("number") > 2 && x.Field<int>("number") < 5); //方法2 var dtr = dd.Where(x => x.Field<DateTime>("Timer") >= dtstart && x.Field<DateTime>("Timer") <= dtend); //方法三 //DataTable dt1 = new DataTable(); //for (int i = 0; i < dt.Rows.Count; i++) //{ // DateTime di = (DateTime)dt.Rows[i]["Timer"]; // bool a = di > dtstart; // bool b = di < dtend; // if ((DateTime)dt.Rows[i]["Timer"] > dtstart && (DateTime)dt.Rows[i]["Timer"] < dtend) // { // dt1.Rows.Add(dt.Rows[i]); // } //} DataTable newdt = dtr.CopyToDataTable<DataRow>(); dataGridView1.DataSource = newdt; }
初始化:
Init()