我有一个超过100行的数据网格 如果用户单击该行的第一列,则必须选择整行,如果他单击任何其他列,则不能选择整行 我设置了datagridview cellselection的选择模式,并使其只读了并尝试了以下所有代码,但发现没有用,任何人都可以建议任何想法 在这里输入代码
private void tbljobdata_CellClick(object sender, DataGridViewCellEventArgs e)
{
if (tbljobdata.CurrentCell.ColumnIndex == 0)
{
tbljobdata.Rows[tbljobdata.CurrentCell.RowIndex].Selected = true;
}
}
答案 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