C#里DataGridView中的一个cell如何设为不可编辑啊

officercat 2011-02-28 05:35:52
首先我知道它有个readonly属性
但DataGridView的基本控件单位一个个column,这些column是可以设置readonly的,而且确实有效

但row是动态添加的,我如果具体定位到某一个cell(只能在对应的row都被加好后),它的readonly设为true后毫无用处。

我是用一个DataTable对象先吧数据表格都建立起来,再绑定到DataGridView上,然后才可以对其中某一个cell的属性设置(否则这个cell不存在)。

设置方法为:
this.dataGridView1.DataSource = this.channelUnitTable;
dataGridView1[columnName, rowIndex].readOnly =true;

但不管用。这一个cell还是可以被编辑。


我网上搜了下,有人遇到过类似的问题,可是回答的人都没理解提问者,给出的答案之前的提问者和我其实都知道,但就是不成功啊。
...全文
917 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
officercat 2011-04-10
  • 打赏
  • 举报
回复
1楼说的也是可能的,我没仔细观察,2楼说的也对,我最终的方案是不采用初始化设置,而截获鼠标点击的事件,在响应函数里,当点击到不可编辑的那个cell时,把cell所在的整个column都设为readonly,这个是有效的,其他时候再取消readonly。

谢谢大家的回答。
whrspsoft3723 2011-03-05
  • 打赏
  • 举报
回复
会不会是没有commit ?它还是“脏”的
wuyq11 2011-03-05
  • 打赏
  • 举报
回复
this.dataGridView1.Columns["No"].ReadOnly=true;
在那里写的
DataGridView1.ReadOnly = True

shandengx 2011-03-05
  • 打赏
  • 举报
回复
测试了一下。。你的代码是可以顺利执行的啊 。。只是在排序后就又可以编辑了。
你可以禁止排序,或者排序后重新设置readonly属性

8,834

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 组件/控件开发
社区管理员
  • 组件/控件开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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