DevExpress XtraGrid GridView的CellValueChanged事件的问题
修改Cell的Value后,并不能即时的更改数据源,需要离开焦点。
解决方法是,绑定一个RepositoryItem到Columns,调用这个Item的EditValueChanged事件
代码如下
RepositoryItemTextEdit countTxt = new RepositoryItemTextEdit(); countTxt.AutoHeight = false; countTxt.EditValueChanged += new EventHandler(countTxt_EditValueChanged); //注册事件 GridView1.Columns["ChargeCount"].ColumnEdit = countTxt; //绑定RepositoryItem到Columns void countTxt_EditValueChanged(object sender, EventArgs e) { GridView1.PostEditor(); //关键,将GridView的值提交到数据源 }
如果要获取RepositoryItem的值,可以在事件中这样写
TextEdit txt = sender as TextEdit; string value = txt.EditValue.ToString();
具体转换成什么样的BaseEdit,可以跟踪事件,查看sender的类型
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步