控制页面Grid列可编辑方法

挂一个委托事件,在事件里面控制需要的列可编辑

e.cancel=false为不可编辑

 #region 选择行可编辑

        private void gridView1_ShowingEditor(object sender, CancelEventArgs e)
        {
            try
            {
                this.efDevGrid1.SetAllColumnEditable(true);
                e.Cancel = true;
                GridView grid = sender as GridView;
                if (grid.FocusedColumn == this.efDevGrid1.SelectionColumn)
                {
                    e.Cancel = false;
                }

                if (grid.FocusedColumn.FieldName.Contains("ST_NO") ||
                    grid.FocusedColumn.FieldName.Contains("LG_ST") ||
                    grid.FocusedColumn.FieldName.Contains("HOT_SEND_DIV") ||
                    grid.FocusedColumn.FieldName.Contains("HCR_DECIDE") ||
                    grid.FocusedColumn.FieldName.Contains("HDR_DECIDE") ||
                    grid.FocusedColumn.FieldName.Contains("CHARGE_DIV") ||
                    grid.FocusedColumn.FieldName.Contains("HAND_CLEAR_FLAG") ||
                    grid.FocusedColumn.FieldName.Contains("FLAME_CLEAN") ||
                    grid.FocusedColumn.FieldName.Contains("COOL_TIME") ||
                    grid.FocusedColumn.FieldName.Contains("CARRY_SEND_DIV") ||
                    grid.FocusedColumn.FieldName.Contains("HOTCHG_CHG_1") ||
                    grid.FocusedColumn.FieldName.Contains("HOTCHG_CHG_2") ||
                    grid.FocusedColumn.FieldName.Contains("HOTCHG_CHG_3") ||
                    grid.FocusedColumn.FieldName.Contains("REMARK"))
                {
                    //选中状态
                    if (this.efDevGrid1.GetSelectedColumnChecked(gridView1.FocusedRowHandle) == true)
                    {
                        //可编辑
                        e.Cancel = false;
                    }
                    else
                    {
                        //不可编辑
                        e.Cancel = true;
                    }
                }
            }
            catch (Exception ex)
            {
                EF.EFMessageBox.Show(ex.Message, EF.EF_Args.epEname, MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }

        #endregion

 

posted @ 2021-03-16 10:12  gitee1412  阅读(372)  评论(0)    收藏  举报