DevExpress中,我在GridControl里面添加了一个GridView,然后设置GridControl的数据源为一个DataTable
答案:2 悬赏:50 手机版
解决时间 2021-02-22 13:37
- 提问者网友:未信
- 2021-02-21 19:51
理论上,当改变GridView里面的内容,并且离开对应行时,DataTable的值就会改变,否则,读取当前行的内容,各项的值依旧会是改动之前的数值,我想知道,如何可以不离开对应行就能读取到改动之后的值呢?
最佳答案
- 五星知识达人网友:患得患失的劫
- 2021-02-21 20:58
获取改变后的内容之前。
先执行两的代码
gridview.CloseEditor();
gridview.UpdateCurrentRow();
这样就能获取到了
先执行两的代码
gridview.CloseEditor();
gridview.UpdateCurrentRow();
这样就能获取到了
全部回答
- 1楼网友:鱼忧
- 2021-02-21 21:26
需要在gridcontrol控件中触发cellvaluechanging事件,为了在全选做批量操作时不遗漏最后一条数据。eg: private void gridview1_cellvaluechanging(object sender, devexpress.xtragrid.views.base.cellvaluechangedeventargs e)
{
datarowview drv = (datarowview)this.dsapplylistbindingsource.current;//当前选择行数据
if (drv != null)
{
if ((bool)drv["isselect"] == false)
{
foreach (datarow dr in this.dsapplylist.datapplyliststudent.rows)
{
if (dr["applyid"].tostring() == drv["applyid"].tostring())
{
dr["isselect"] = true;
}
}
}
else if ((bool)drv["isselect"] == true)
{
foreach (datarow dr in this.dsapplylist.datapplyliststudent.rows)
{
if (dr["applyid"].tostring() == drv["applyid"].tostring())
{
dr["isselect"] = false;
}
}
}
}
this.dsapplylistbindingsource.endedit();
gridcontrol1.mainview.posteditor();
this.dsapplylist.datapplyliststudent.acceptchanges();//刷新数据集
}
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯