DataGridViewRow 复制问题

mytudousi 2009-03-04 11:04:35
/// <summary>
/// 复制一个行数据
/// </summary>
/// <param name="myCopyedDataGridViewRow"></param>
/// <returns></returns>
public DataGridViewRow CopyDataGriViewRow(DataGridViewRow myCopyedDataGridViewRow)
{
DataGridViewRow myNewDataGridViewRow = myCopyedDataGridViewRow.Clone() as DataGridViewRow;

for(int i = 0; i < myCopyedDataGridViewRow.Cells.Count;i++)
{
myNewDataGridViewRow.Cells[i].Value = myCopyedDataGridViewRow.Cells[i].Value;
}
return myNewDataGridViewRow;
}

如果数据不为空,完全可以使用,但数据为空时,也能判断出空值,也能复制过去。
但在排序时,因为我复制后的dataGridView不再时绑定了,有空类型后就不能进行排序。
并且我发现把这个复制后的行添加到DataGridView上去之后,这个行的DataGridView属性竟然为Null。
请问各位高手怎么回事?
谢谢!!
...全文
286 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
wts_net 2009-03-04
  • 打赏
  • 举报
回复
用DataSet.DataTable加,然后用ds.Tables[0].DefultView重新绑定?
别外 没值时,Cells[i].Value会有异常的
chenzhaochun 2009-03-04
  • 打赏
  • 举报
回复
同意楼上的观点。直接把某一行的记录从DataGridView中赋值去DataRow。
guanmingle 2009-03-04
  • 打赏
  • 举报
回复
为什么要操作两个datagridview呢,可以考虑直接把datagridview中的某一行直接赋给一个新的datarow不可以吗?
mytudousi 2009-03-04
  • 打赏
  • 举报
回复
这样 效率可是个大问题, 你是说把DataTable 的每行转换成一个模型对象,然后再把某型对象一个个写到DataGridview上进行显示。

以前我也这么做过。后来他麻烦 就否定了。

而且 。net推荐的方式也是DataTable优于对象模型列表。

只是我现在做的这个东西开始的时候没写好,其实应该是逻辑处理(行复制)在DataTable里面进行,我都放到DataGridview中了。所以才遇到了这个问题。

当我们显示部分信息列表时 没必要把所有的对象模型的所有属性都读出来,3楼的多的对,但一般大家时不会这么做的。
ztenv 2009-03-04
  • 打赏
  • 举报
回复
不如把数据抽象为一个类,然后类存放数据,再填充到界面,这样想怎么搞就怎么搞

111,126

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧