首页 新闻 搜索 专区 学院

C# winform dataGridView中的 checkbox 问题

1
悬赏园豆:100 [已解决问题] 解决于 2010-09-02 11:55

我想让 流程为1的时候 CHECKBOX 就不能选
有什么办法啊 ? 麻烦请带上代码! 我写了一下午 试了好几种方法 还是实现不了。

问题补充: 图片出不来了 晕 dataGridView中 checkboxl列 流程 □ 1
石头头头的主页 石头头头 | 初学一级 | 园豆:100
提问于:2010-08-31 18:10
< >
分享
最佳答案
0

不可选、可以设置ReadOnly =true ; 你现在要求是有条件让它可选。那可以在Form_Load 事件遍历整个列、设置 ReadOnly 属性。

代码:

  public partial class FormDemo : Form
    {
        public FormDemo()
        {
            InitializeComponent();
            this.Load += new EventHandler(Form3_Load);
        }

        void Form3_Load(object sender, EventArgs e)
        {
            DataTable table = new DataTable();

            table.Columns.Add("IsTrue", typeof(bool));
            table.Columns.Add("Code");
            table.Columns.Add("Name");

            DataRow row = null;

            row = table.NewRow();
            row["IsTrue"] = 1;
            row["Code"] = "001";
            row["nAME"] = "001";
            table.Rows.Add(row);

            row = table.NewRow();
            row["IsTrue"] = 0;
            row["Code"] = "002";
            row["nAME"] = "002";
            table.Rows.Add(row);

            row = table.NewRow();
            row["IsTrue"] = 1;
            row["Code"] = "003";
            row["nAME"] = "003";
            table.Rows.Add(row);

            row = table.NewRow();
            row["IsTrue"] = 0;
            row["Code"] = "004";
            row["nAME"] = "004";
            table.Rows.Add(row);

            this.dataGridView1.DataSource = table;

            for (int i = 0; i < this.dataGridView1.Rows.Count; i++)
            {
                this.dataGridView1.Rows[i].Cells[0].ReadOnly = true;
            }
        }
    }

收获园豆:80
HUHU慈悲 | 大侠五级 |园豆:9973 | 2010-08-31 19:22
不是很好 不过还是谢谢你 我自己吧问题解决了
石头头头 | 园豆:100 (初学一级) | 2010-09-02 11:55
其他回答(2)
0

试试 循环所有的 CHECKBOX enable为false

慧☆星 | 园豆:5533 (大侠五级) | 2010-08-31 18:31
0

可以在行绑定事件中获取列的值,如果达到要求,则查找到此控件设置相关属性。

收获园豆:20
Astar | 园豆:40805 (高人七级) | 2010-08-31 20:11
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册