怎么根据条件 取出DataTable里的几行数据给另外一个DataTable
如何根据条件 取出DataTable里的几行数据给另外一个DataTable
例如DataTable里我想取出时间是2012-2-1号的数据,然后付给另外一个空的DataTable,怎么做?
------解决方案--------------------
例如DataTable里我想取出时间是2012-2-1号的数据,然后付给另外一个空的DataTable,怎么做?
------解决方案--------------------
- C# code
protected void Page_Load(object sender, EventArgs e) { GetData(); } private DataTable GetData() { DataTable dt = new DataTable(); dt.Columns.Add("Id", typeof(int)); dt.Columns.Add("Time", typeof(string)); dt.Rows.Add(1, "2012-2-1"); dt.Rows.Add(2, "2012-2-2"); dt.Rows.Add(3, "2012-2-3"); dt.Rows.Add(4, "2012-2-4"); dt.Rows.Add(5, "2012-2-5"); dt.Rows.Add(6, "2012-2-1"); dt.Rows.Add(7, "2012-2-2"); dt.Rows.Add(8, "2012-2-2"); dt.Rows.Add(9, "2012-2-1"); dt = dt.AsEnumerable().Where(o => DateTime.Parse(o.Field<string>("Time")) == DateTime.Parse("2012-2-1")).CopyToDataTable(); return dt; }
------解决方案--------------------
建立一个空的DataTable,结构一致
即
DataTable newdt=SourceDt.Clone();
DataRow[] spliterros=SorceDt.Select('条件');
for(i=0;i<spliterros.Length;i++)
{
newdt.ImportRow(spliterros[i]);
}
------解决方案--------------------
------解决方案--------------------
DataTable newdt=new DataTable();
newdt.Columns.Add(new DataColumn("日期"));
for(int i=0 ;i<olddt.Rows.Count;i++)
{
DataRow dr = newdt.NewRow();
dr[0] = olddt.Rows[i][1];
newdt.ImportRow(dr);
}
大体就这个样子!