dev gridcontrol

1. gridcontro某列设置成了repositoryItemComboBox,这时候如果这列的某个值改变了,设置当前行的某个单元格的值,用下面的方法。

 private void repLookUpEdit2_EditValueChanged(object sender, EventArgs e)
        {
            LookUpEdit a = (LookUpEdit)sender;
            string aa = a.EditValue.ToString();
            if (aa == "-1")
            {
                int H = grdvexpense.FocusedRowHandle;//当前记录号
                grdvexpense.SetRowCellValue(H, "columnName", 1);
            }
        }

或者你可能需要用下面这种方法:

  private void grdvexpense_CellValueChanged(object sender, DevExpress.XtraGrid.Views.Base.CellValueChangedEventArgs e)
        {
            DataRowView selecttype = (DataRowView)grdvexpense.GetFocusedRow();         
         
                decimal a= 0;
                decimal b= 0;
                if (!selecttype["a"].ToString().Equals("") && (!selecttype["b"].ToString().Equals("")))
                {
                    a= (decimal)selecttype["a"];
                    b= (int)selecttype["b"];
                    selecttype["c"] = a* b;                
                }
  
        }

2.如果要设置当前行的某个单元格只读,貌似不能用上面的方法了,可以用下面的方法。

   private void grdvexpense_ShowingEditor(object sender, CancelEventArgs e)
        {
            DataRowView selecttype = (DataRowView)grdvexpense.GetFocusedRow();
        
                if (selecttype["type"].ToString() == "-1")
                {
                    if (grdvexpense.FocusedColumn.Name.Equals("gridColumn5"))
                    {
                        e.Cancel = true;                  
                        return;
                    }
                }             
         
        }

3.如果你要判断gridcontrol某一单元格输入的值的格式是否正确,可以用下面的方法
  private void grdvexpense_ValidateRow(object sender, DevExpress.XtraGrid.Views.Base.ValidateRowEventArgs e)
        {
            string a = this.grdvexpense.GetRowCellValue(e.RowHandle, "a").ToString().Trim();
            string b = this.grdvexpense.GetRowCellValue(e.RowHandle, "b").ToString().Trim();
            if (a.Length < 1)
            {
                e.Valid = false;
                this.grdvexpense.SetColumnError(this.grdvexpense.Columns["a"], "请填写名称!", DevExpress.XtraEditors.DXErrorProvider.ErrorType.Default);
            }
            if (b.Length < 1)
            {
                e.Valid = false;
                this.grdvexpense.SetColumnError(this.grdvexpense.Columns["b"], "请填写金额!", DevExpress.XtraEditors.DXErrorProvider.ErrorType.Default);
            }
           
        }
 private void grdvexpense_InvalidRowException(object sender, DevExpress.XtraGrid.Views.Base.InvalidRowExceptionEventArgs e)
        {
            e.ExceptionMode = ExceptionMode.NoAction;
        }

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值