
初始化:
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()