【问题标题】:Datagridview add new column and focus on itDatagridview 添加新列并关注它
【发布时间】:2013-11-17 09:28:58
【问题描述】:

您好先生,我无法集中我的 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;
            }
        }

[更新1]

【问题讨论】:

    标签: c# .net winforms datagridview


    【解决方案1】:

    您使用的代码是选择单元格。要选择一列,请改用此代码:

    dataGridView1.Columns[columnIndex].Selected = true;
    

    如果您希望一次选择每列,请记住取消选择之前选择的所有列。您可以使用一些变量来保存最后选择的列,并在需要时取消选择它。

    更新

    这是您应该尝试过的代码:

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

    【讨论】:

    • 好吧国王让我先试试
    • @dholakiyaankit 你能描述更多关于它是如何不起作用的吗?未选择列或抛出异常?您尝试的实际代码是什么?如果有的话,请更新你的问题,如果可能的话,我会尽量改进答案。
    • 好的@kingking 等我更新
    • @dholakiyaankit 请再次检查您的代码,我没有在您的代码中看到我的代码
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-02-09
    • 2017-09-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多