C# Datagridview添加新列并关注它

C# Datagridview添加新列并关注它,c#,.net,winforms,datagridview,C#,.net,Winforms,Datagridview,您好,先生,我在集中我的datagridview时遇到问题,我有这样的代码 private void dataGridView1_CellEndEdit(object sender, DataGridViewCellEventArgs e) { DataGridViewColumn col = new DataGridViewTextBoxColumn(); col.DataPropertyName = "2"; col.HeaderText = "2".ToString

您好,先生,我在集中我的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]

您使用的代码是选择单元格。要选择列,请使用以下代码:

dataGridView1.Columns[columnIndex].Selected = true;
如果希望一次选择每一列,请记住取消选择之前选择的所有列。可以使用某些变量保存最后选定的列,并在需要时取消选择

更新 以下是您应该尝试的代码:

private void dataGridView1_ColumnAdded(object sender, DataGridViewColumnEventArgs e)
{
   dataGridView1.ClearSelection();
   e.Column.Selected = true;
}

好的,国王,让我试试first@dholakiyaankit你能描述一下它是如何失效的吗?未选择列或引发了某些异常?你实际试过的代码是什么?如果有,请更新你问题中的所有内容,如果可能的话,我会尝试改进答案。好的@kingking,等等,我是updating@dholakiyaankit请再次检查您的代码,我在您的代码中没有看到我的代码。@dholakiyaankit请查看我的更新以了解您应该尝试的内容,请注意,我假设您要选择新添加的列,如果这不是你想要的,请澄清。