Janus Grid .NET C# 如何设置指定列单元格允许用户编辑?
解决Janus GridEX列单元格可编辑的问题
我之前用Janus GridEX时也踩过一模一样的坑,只设置EditType或者Selectable确实搞不定,得把几个关键配置配合起来才行。下面是一步步的解决方法:
第一步:先开启表格全局可编辑权限
如果GridEX的根表格没开可编辑,单独设置列的属性根本没用。先加上这行代码:this.myJanusGrid.RootTable.Editable = true;第二步:配置目标列的核心编辑属性
光设EditType不够,还得明确允许该列编辑,同时取消单元格的只读状态:var targetColumn = this.myJanusGrid.RootTable.Columns[0]; // 允许该列被编辑 targetColumn.AllowEdit = true; // 取消单元格的只读限制 targetColumn.ReadOnly = false; // 设置编辑控件为文本框 targetColumn.EditType = Janus.Windows.GridEX.EditType.TextBox;第三步:设置合适的编辑模式
Janus GridEX有好几种编辑模式,要是想让用户直接在单元格里修改内容,得指定Inplace模式:this.myJanusGrid.EditMode = Janus.Windows.GridEX.EditMode.Inplace;额外排查点
- 检查绑定的数据源是否支持编辑:比如用
DataView的话,要确保dataView.AllowEdit = true; - 确认GridEX控件本身的
ReadOnly属性没被设为true; - 如果绑定的是自定义对象,要保证对应属性有公共的setter方法。
- 检查绑定的数据源是否支持编辑:比如用
把这些配置组合起来,你的列单元格应该就能正常编辑了。这里给个完整的代码示例:
// 全局基础配置 this.myJanusGrid.RootTable.Editable = true; this.myJanusGrid.EditMode = Janus.Windows.GridEX.EditMode.Inplace; // 目标列的编辑配置 var targetColumn = this.myJanusGrid.RootTable.Columns[0]; targetColumn.AllowEdit = true; targetColumn.ReadOnly = false; targetColumn.EditType = Janus.Windows.GridEX.EditType.TextBox; targetColumn.Selectable = true; // 这个是允许选中单元格,和编辑相关但不是必需项
内容的提问来源于stack exchange,提问作者Nada Janjetovic
相关产品推荐
相关产品推荐

