以编程方式在datagridview中选择一行

时间:2012-05-04 20:33:47

标签: c#

我有一个超过100行的数据网格 如果用户单击该行的第一列,则必须选择整行,如果他单击任何其他列,则不能选择整行 我设置了datagridview cellselection的选择模式,并使其只读了并尝试了以下所有代码,但发现没有用,任何人都可以建议任何想法 在这里输入代码

  private void tbljobdata_CellClick(object sender, DataGridViewCellEventArgs e)
        {

         if (tbljobdata.CurrentCell.ColumnIndex == 0)
        {

           tbljobdata.Rows[tbljobdata.CurrentCell.RowIndex].Selected = true;
         }
        }

2 个答案:

答案 0 :(得分:2)

处理鼠标按下事件,因为它捕获了第一个。

    private void tbljobdata_CellMouseDown(object sender, DataGridViewCellMouseEventArgs e)
    {
        if (e.ColumnIndex == 0)
            tbljobdata.SelectionMode = DataGridViewSelectionMode.FullRowSelect;
        else
            tbljobdata.SelectionMode = DataGridViewSelectionMode.CellSelect;
    }

在所需的条件下也相应地改变只读属性..如果你想要,你可以为单个单元设置只读

答案 1 :(得分:1)

请尝试此代码

private void tbljobdata_CellClick(object sender, DataGridViewCellEventArgs e)
        {

         if (e.ColumnIndex == 0)
        {

           tbljobdata.Rows[e.RowIndex].Selected = true;
         }
        }

有关CellClick事件的进一步阅读,请MSDN link