标题:DataGridView的DataSource能不能是DataRow[]?
只看楼主
xchw0329
Rank: 2
等 级:论坛游民
帖 子:22
专家分:31
注 册:2012-9-19
结帖率:80%
已结贴  问题点数:20 回复次数:3 
DataGridView的DataSource能不能是DataRow[]?
我想从一个DataTable中查找出符合条件的记录,然后绑定到DataGridView中,利用datatable.Select()查出来的是DataRow[]类型,绑定到DataGridView后显示不出来,请问下怎么解决这个问题?
搜索更多相关主题的帖子: 记录 
2012-10-17 10:33
belin2000
Rank: 3Rank: 3
等 级:论坛游侠
威 望:5
帖 子:975
专家分:194
注 册:2004-6-2
得分:20 
DataGridView的DataSource能不能是DataRow[]?
可以,DataSource是obj类型的。

利用datatable.Select()查出来的是DataRow[]类型,绑定到DataGridView后显示不出来.
因为 DataRow[]只是行的集合,没有table(表)的字段的名称。

解决的方式
1:把DataRow[] 放到一个新表里面 ,绑定新表.
    核心代码:
    datatable tb= datatable.clone();
    foreach(datarow dr in DataRow[] )
{    tb.rows.add(dr.ItemArray);}
DataGridView.DataSource=tb;

2:使用泛型List<类>的select方法来绑定

建议使用泛型List<类>.


[ 本帖最后由 belin2000 于 2012-10-17 11:33 编辑 ]

59ita点com(我就爱TA)
2012-10-17 11:04
xchw0329
Rank: 2
等 级:论坛游民
帖 子:22
专家分:31
注 册:2012-9-19
得分:0 
回复 2楼 belin2000
要放到新表的时候会出现错误“该行已经属于另一个表”。
2012-10-17 11:22
belin2000
Rank: 3Rank: 3
等 级:论坛游侠
威 望:5
帖 子:975
专家分:194
注 册:2004-6-2
得分:0 
dt.Rows.Add(dr.ItemArray);
要转换为array才能放到其他表里面,忘记了,不好意思。好久没有用到过表的操作了。。

59ita点com(我就爱TA)
2012-10-17 11:32



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-383400-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.145865 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved