您好先生我在关注我的datagridview时遇到问题我有这样的代码
private void dataGridView1_CellEndEdit(object sender, DataGridViewCellEventArgs e)
{
DataGridViewColumn col = new DataGridViewTextBoxColumn();
col.DataPropertyName = "2";
col.HeaderText = "2".ToString();
col.Name = "2".ToString();
dataGridView1.Columns.Add(col);
mm = e.RowIndex;
dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex + 1].Selected=true;
}
我想关注这个新添加的列单元格,我已经使用了高级代码,但是它没有专注于第二行,因为它是当前行的最后一列我也试过这个
private void dataGridView1_ColumnAdded(object sender, DataGridViewColumnEventArgs e)
{
if (mm != 0)
{
dataGridView1.CurrentCell = dataGridView1.Rows[mm].Cells[e.Column.Index];
dataGridView1.BeginEdit(true);
dataGridView1.Rows[mm].Cells[e.Column.Index].Selected = true;
}
}
这让我很困惑,我已经尝试了所有这些,但仍然会进入第二排第一个单元格在这种情况下该做什么?
[更新]
private void dataGridView1_CellEndEdit(object sender, DataGridViewCellEventArgs e)
{
DataGridViewColumn col = new DataGridViewTextBoxColumn();
col.DataPropertyName = "";
col.HeaderText = j.ToString();
col.Name = j.ToString();
dataGridView1.Columns.Add(col);
}
我的尝试代码
private void dataGridView1_ColumnAdded(object sender, DataGridViewColumnEventArgs e)
{
if (mm != 0)
{
dataGridView1.ClearSelection();
dataGridView1.CurrentCell = dataGridView1.Rows[mm].Cells[e.Column.Index];
dataGridView1.Rows[mm].Cells[e.Column.Index].Selected = true;
}
}
[Updated1]
答案 0 :(得分:1)
您使用的代码是选择单元格。要选择列,请改用此代码:
dataGridView1.Columns[columnIndex].Selected = true;
如果您希望一次选择每列,请记住取消选择之前选择的所有列。您可以使用某个变量来保存最后选择的列,并在需要时取消选择它。
以下是您应该尝试的代码:
private void dataGridView1_ColumnAdded(object sender, DataGridViewColumnEventArgs e)
{
dataGridView1.ClearSelection();
e.Column.Selected = true;
}