当前位置: 代码迷 >> ASP.NET >> 怎么根据条件 取出DataTable里的几行数据给另外一个DataTable
  详细解决方案

怎么根据条件 取出DataTable里的几行数据给另外一个DataTable

热度:2844   发布时间:2013-02-25 00:00:00.0
如何根据条件 取出DataTable里的几行数据给另外一个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,结构一致

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);
}
大体就这个样子!
  相关解决方案