【问题标题】:How to get the Row index and Columns index in the datagridView如何在datagridView中获取行索引和列索引
【发布时间】:2013-08-05 08:35:24
【问题描述】:

我的问题是:当我单击某个复选框时,如何从 DataGridView 获取当前复选框控件的索引 这是我的 snick 代码

dataGridView2.RowCount = 5;
    dataGridView2.ColumnCount = 4;

    for (int i = 0; i < dataGridView2.ColumnCount; i++)
    {
        for (int j = 0; j < dataGridView2.RowCount; j++)
        {
            box = new CheckBox();
            box.Text = "MyDate";
            //box.Size = new System.Drawing.Size(15, 15);
            dataGridView2.Controls.Add(box);
            Rectangle rec = dataGridView2.GetCellDisplayRectangle(i, j, true);
            box.Left = rec.Left;
            box.Top = rec.Top;
        }
    }
}

【问题讨论】:

    标签: c# winforms checkbox datagridview


    【解决方案1】:

    看起来您尝试将纯CheckBoxes 添加到您的DataGridView 而不使用DataGridViewCheckBoxColumn,这种方法的解决方案很简单,如下所示:

    for (int i = 0; i < dataGridView2.ColumnCount; i++)
        {
            for (int j = 0; j < dataGridView2.RowCount; j++)
            {
                box = new CheckBox();
                box.Text = "MyDate";
                //box.Size = new System.Drawing.Size(15, 15);
                dataGridView2.Controls.Add(box);
                Rectangle rec = dataGridView2.GetCellDisplayRectangle(i, j, true);
                box.Left = rec.Left;
                box.Top = rec.Top;
                //Added code
                box.Tag = new Point(i,j);
                box.Click += CheckBoxesClicked;
            }
        }
    private void CheckBoxesClicked(object sender, EventArgs e){
       CheckBox chb = sender as CheckBox;
       if(chb.Tag != null) {
          Point coord = (Point)chb.Tag;
          MessageBox.Show(string.Format("Row index: {0}\nColumn index: {1}", coord.Y, coord.X);
       }
    }     
    

    您应该改用DataGridViewCheckBoxColumn,通过这种方法,您可以处理事件CellContentClick...

    【讨论】:

    • 谢谢!我会试试的!
    【解决方案2】:

    如果您使用CellContentClick 事件或任何其他您获得DataGridViewCellEventArgs 的事件,那么您有ColumnIndexRowIndex 属性,即单元格的列和行已更改

    【讨论】:

      【解决方案3】:

      检查此链接。这为您提供了有关网格视图的详细信息。

      http://msdn.microsoft.com/en-us/library/ms972814.aspx

      http://msdn.microsoft.com/en-us/library/aa479344.aspx

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-08-03
        • 2013-06-09
        • 1970-01-01
        • 1970-01-01
        • 2011-09-30
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多