DataBindings 需要Reload()的情况

有一gridview,及对应显示其值的一堆TextEdit

BO.xLookup activeRecord = null;

            private void gridView__FocusedRowChanged(object sender, EventArgs e)
            {
                var z = dlg_Country.gridView_.GetFocusedRowCellValue("PK");
                if (z==null||z.ToString()=="")
                {
                    return;
                }
                activeRecord = _ss.Query<BO.xLookup>().FirstOrDefault(x => x.PK == (long)z);
                foreach (var item in dlg_Country._BOFieldCollection)
                {
                    item.controlBaseEdit.DataBindings.Clear();
                    item.controlBaseEdit.DataBindings.Add(new Binding("EditValue", activeRecord, item.fieldName));
                }
            }

gridview换行事件绑定item值

            private void controlSimpleButton_ClickCancel(object sender, EventArgs e)
            {
                setUIBButton(UIBState.Canceling);
                DisableEdit();
                var z = dlg_Country.gridView_.GetFocusedRowCellValue("PK");
                activeRecord = _ss.Query<TimeShare.BO.xLookup>().FirstOrDefault(x => x.PK == (long)z);
                if (runNew == true)
                {
                    runNew = false;
                    activeRecord = null;
                }
                else
                {
                    activeRecord.Reload();
                }
                foreach (var item in dlg_Country._BOFieldCollection)
                {
                    item.controlBaseEdit.DataBindings.Clear();
                    item.controlBaseEdit.DataBindings.Add(new Binding("EditValue", activeRecord, item.fieldName));
                }
            }

cancel时如果不是新建行那么activeRecord要Reload()

因为修改了TextEdit值时,即使不Save,内存中的值都已改变,就会显示值同Gridview对应不到。

也不是item同activeRecord 的绑定使item.editvalue值改变时,activeRecord对应值也发言为,只是

DB里的值没改变,需要使用Save() 才会保存到DB

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值