日期:2014-05-19  浏览次数:20558 次

|M| 如何让DataGrid绑定 DataTable里面的某些记录
如Dt内容
year   month   total
2007   1           11
2006   11         10
2006   12         12
2007   3           15

现在我要DataGrid只绑定里面year为2006年的记录

谢谢

------解决方案--------------------
从datatable里生成dataview,然后dataview过滤2006年数据,DataGrid绑定那个dataview
------解决方案--------------------
DataView db = dt;
db.RowFilter = "year> =2006 ";
db就是你想要的数据 然后绑定到DataGrid。
OK!
------解决方案--------------------
mark
------解决方案--------------------
DataTable dt1 = new DataTable();
dt1.Columns.Add( "year ", typeof(int));
dt1.Columns.Add( "month ", typeof(int));
dt1.Columns.Add( "total ", typeof(int));
dt1.Rows.Add(new object[] { 2007, 1, ix });
dt1.Rows.Add(new object[] { 2006, 2, 70 });
dt1.Rows.Add(new object[] { 2007, 3, 100 });
dt1.Rows.Add(new object[] { 2006, 4, 60 });

DataRow[] drow = dt1.Select( "year=2006 ");

DataTable dt3 = dt1.Clone();
foreach(DataRow dr in drow)
{
dt3.Rows.Add(dr);
}
//--这个需要你绑定到dt3才行
------解决方案--------------------
楼上的这样的写法似乎会包dr 已经属于另一个datatable的错误,如果我没有记错的话
------解决方案--------------------
建议用DataView,它也可以筛选记录的。
------解决方案--------------------
直接绑定到dt1不行
要绑定到dt3
------解决方案--------------------
何必 简单的问题复杂化呢。!