dev gridControl列中嵌套LookUpEdit,实现修改该列某一行的值,其余的行此列值全部改成修改后的值

dev gridControl列中嵌套LookUpEdit,实现修改该列某一行的值,其余的行此列值全部改成修改后的值-1

遇到的问题说明

做这个功能遇到了一个问题,我加上了_EditValueChanged事件,但是获取到的值一直修改前的值,我在_EditValueChanged事件加上了下面的代码就可以了。

下面展示一些 解决的方案

// 
 this.gvDetail.RefreshData();//
this.gvDetail.CloseEditor();//必须要加上,否则是选择前的结果

下面是完整的代码,
注意:
下面的代码,放到validating的事件中实现不了此效果,修改下拉框的值后先触发的事件是_EditValueChanged事件,执行到this.gvDetail.CloseEditor()这一句后,会执行Validating事件

// A code block
var foo = 'bar';
// An highlighted block
  private void repWorkPlace_Validating(object sender, CancelEventArgs e)
        {
            
        }
        
// A code block
var foo = 'bar';
// An highlighted block
 private void repWorkPlace_EditValueChanged(object sender, EventArgs e)
        {
        try{
       		 int row = this.gvDetail.FocusedRowHandle;
                if (row < 0 || this.gvDetail.RowCount <= 0)
                {
                    return;
                }
                this.gvDetail.RefreshData();//
                this.gvDetail.CloseEditor();//必须要加上,否则是选择前的结果
                  ProductTab currentRow = (ProductTab )this.gvDetail.GetRow(row);
                if (string.IsNullOrEmpty(currentRow.WorkPlace) || string.IsNullOrEmpty(currentRow.WorkPlace))
                {
                    MessageBox.Show("请先录入生产车间", "提示");
                    return;
                }
                 this.Cursor = Cursors.WaitCursor;
                DialogResult diao = MessageBox.Show("是否将所有生产车间均设置为该生产车间!" + currentRow.WorkPlace, "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Asterisk);
                if (diao == DialogResult.Yes)
                {
                 List<ProductTab > listrow = (List<ProductTab >)bsDetail.List;
                    foreach (ProductTab rows in listrow)
                    {
                        rows.WorkPlace = currentRow.WorkPlace == null ? "" : currentRow.WorkPlace;
                    }
                    gvDetail.RefreshData();
                    gvDetail.CloseEditor();
                    gvDetail.UpdateCurrentRow();
                }
                 else
                { gvDetail.RefreshRow(row);
                    gvDetail.SetFocusedRowCellValue("WorkPlace", currentRow.WorkPlace);
                }
                this.gvDetail.RefreshData();
                this.Cursor = Cursors.Default;
               }
            catch (Exception ex)
            {
            }
   }           
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值