datagrid增加紀錄後,需要移動光標到另一行數據才能儲存

derek 2003-09-29 04:27:02
綁定如下:
DataRelation datarelation;
DataColumn datacolumn1;
DataColumn datacolumn2;
datacolumn1=this.ds.Tables["customers"].Columns["custid"];
datacolumn2=this.ds.Tables["contacts"].Columns["custid"];
datarelation=new DataRelation("CustomerToContacts",datacolumn1,datacolumn2);
this.ds.Relations.Add(datarelation);

this.dataGrid1.SetDataBinding(this.ds,"customers");
this.dataGrid2.SetDataBinding(this.ds,"customers.CustomerToContacts");

在datagrid2中輸入新紀錄後, 需要將光標移開當前行, 才可以儲存當前紀錄, 我記得用dataview也有如此情況.
請問如何辦?
...全文
20 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
yuzaichun 2003-09-29
  • 打赏
  • 举报
回复
这个问题以前有人也提出过,看到MSSQL企业管理期,它里面的那个datagrid也有这种问题。
我觉得这种处理没有什么不好的,如果你修改一下这个行里的某一列数据,就向数据库更新一次的话,岂不是没有效率?
herofyf 2003-09-29
  • 打赏
  • 举报
回复
我以前也遇到过类似情况,后来我就人为提出修改后的值并将其放到一个数组中,不过我感觉没上面方法好!
kuangsha007 2003-09-29
  • 打赏
  • 举报
回复
这是因为,你没有离开当前行的话,系统不会认为你结束了编辑状态,解决的办法如下:

private void EndEdit()
{
if (this.dataGrid1.TableStyles.Count != 0)
{
this.dataGrid1.EndEdit(this.dataGrid1.TableStyles[0].GridColumnStyles[this.dataGrid1.CurrentCell.ColumnNumber],
this.dataGrid1.CurrentCell.RowNumber,false);

this.BindingContext[this.dataView1].EndCurrentEdit();
}
}

110,502

社区成员

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

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

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