请问Dev GridControl 某个单元格不可编辑怎么设置?

iwusan 2017-11-07 10:30:35

怎么知道我点击的是编号列,并设置不可编辑或不可用啊
...全文
3680 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
samqu2012 2021-01-17
  • 打赏
  • 举报
回复
1、第一步 设置 gridView中的ShowingEditor事件,这个事件是单元格在获取焦点的时候就会触发。 2、第二步 在事件中做判断,判断条件自己设置,关键点就是传进来的参数e,e.Cancel = true; 这句话就可以禁止编辑。 举例: private void gridView1_ShowingEditor(object sender, CancelEventArgs e) { switch (gridView1.FocusedColumn.FieldName) { case "项次"://指定列 #region 禁止编辑单元格 string mo_no = gridView1.GetFocusedRowCellValue(gridView2.Columns["制令单号"]) == null ? "" : gridView2.GetFocusedRowCellValue(gridView2.Columns["制令单号"]).ToString().Trim(); if (mo_no == "") { e.Cancel = true; } #endregion break; } }
a397859976 2017-12-12
  • 打赏
  • 举报
回复
楼主解决了吗,解决了贴下代码,迷惑中.... 麻烦大家先看好问题了再回答啊,楼主问的是某一行中第一列可以编辑,换句话说是某一个单元格可以编辑,而这一列中的其他行的单元格是不可编辑的。 回答那些 gridColumn2.OptionsColumn.AllowEdit = false 之类的是把这整列都不可编辑了。
清澈的风 2017-11-07
  • 打赏
  • 举报
回复
引用 4 楼 qq_25027593 的回复:
[quote=引用 3 楼 lv1204 的回复:]

 //这个是整个表格都不可编辑
            gridView1.OptionsBehavior.Editable = false;

            //这个是某列不可编辑,gridColumn1你不想让编辑的列可以是gridColumn1,gridColumn2,gridColumn3 自己根据情况设置就好了
            gridColumn1.OptionsColumn.AllowEdit = false;
你的情况应该用 gridColumn1.OptionsColumn.AllowEdit = false;这个就ok
有用谢谢!有办法知道是哪一行吗?我只想设置某行第一列可以编辑,其余的不允许编辑。或者说只允许当前选中行第一列可以编辑[/quote] 本身就是选中哪行就只能编辑哪行啊,总不可能你选中最后一行去编辑第一行吧,焦点本身就在最后一行,你没办法编辑到第一行的啊,所以你不必纠结去设置某行,你现在是只想第一列可编辑,那么就把其他几列设置为 gridColumn1.OptionsColumn.AllowEdit = false;//你要编辑的列不要设置就好了,只有这一种办法 比如你现在有gridColumn1,gridColumn2,gridColumn3,gridColumn4 四列, 你现在想只可以编辑gridColumn1,那么就不用去管gridColumn1(因为gridControl默认是可编辑的),只需设置 gridColumn2.OptionsColumn.AllowEdit = false gridColumn3.OptionsColumn.AllowEdit = false gridColumn4.OptionsColumn.AllowEdit = false
iwusan 2017-11-07
  • 打赏
  • 举报
回复
引用 3 楼 lv1204 的回复:

 //这个是整个表格都不可编辑
            gridView1.OptionsBehavior.Editable = false;

            //这个是某列不可编辑,gridColumn1你不想让编辑的列可以是gridColumn1,gridColumn2,gridColumn3 自己根据情况设置就好了
            gridColumn1.OptionsColumn.AllowEdit = false;
你的情况应该用 gridColumn1.OptionsColumn.AllowEdit = false;这个就ok
有用谢谢!有办法知道是哪一行吗?我只想设置某行第一列可以编辑,其余的不允许编辑。或者说只允许当前选中行第一列可以编辑
清澈的风 2017-11-07
  • 打赏
  • 举报
回复

 //这个是整个表格都不可编辑
            gridView1.OptionsBehavior.Editable = false;

            //这个是某列不可编辑,gridColumn1你不想让编辑的列可以是gridColumn1,gridColumn2,gridColumn3 自己根据情况设置就好了
            gridColumn1.OptionsColumn.AllowEdit = false;
你的情况应该用 gridColumn1.OptionsColumn.AllowEdit = false;这个就ok
iwusan 2017-11-07
  • 打赏
  • 举报
回复
引用 1 楼 From_TaiWan 的回复:
设置属性 依次找到gridview,OptionsBehavior,设置Editable=false
我要在后台写代码,后台怎么设置某列不可编辑啊
秋的红果实 2017-11-07
  • 打赏
  • 举报
回复
设置属性 依次找到gridview,OptionsBehavior,设置Editable=false

110,545

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧