DataGridView ValueChanged

windxx 2010-10-31 06:09:39
DataGridView 的Cell有没有类似与TextBox的Text属性和TextChanged事件?我只看到了ValueChanged事件,但是这个事件在应用起来非常不方便:
1. 如果在DataGridView的某一个Cell(原值为a)中输入了一个值,比如123,而没有点击其他的Cell或者点击Enter的话,那么这个值将不会被提交,要就是光标一直在Cell那里闪,Cell的Value并不是123,而是之前的值a。(比如我想保存dgv中的数据,正常的操作应该是,我修改Cell值->123,然后我就直接点击保存(一个Button),但是不行,我只能先按回车或者点击另一个Cell才可以,这样看起来很蠢)。
2. 在Cell里边输入的时候,因为没有Text事件所以不能及时得到目前cell里边到底有什么东西,就不能及时对一些数据进行更新(比如,我有两个Dgv,dgv1和dgv2,dgv2为dgv1提供一些数据提示信息,当dgv1中用户输入改变的时候,dgv2应该及时的响应改变,而不是等Enter或用鼠标点击那么麻烦)

以上两种不便都是因为都是因为DataGridView在修改Cell的时候不能及时得到其内的Text内容造成的,请问应该如何解决?是否有什么属性可以设置(比如设置了之后,按了键就可以马上提交到Dgv的Value,而不是等到Enter之后)?

非常感谢!
...全文
71 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
bloodish 2010-11-01
  • 打赏
  • 举报
回复
处理CurrentCellDirtyStateChanged,自己做提交(Commit),而不等DataGridView去处理.


DataGridView dgv;
dgv.CurrentCellDirtyStateChanged += delegate
{
dgv.CommitEdit(DataGridViewDataErrorContexts.Commit);
};

110,532

社区成员

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

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

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