C# 更改C中dataGridView单元格的焦点#

C# 更改C中dataGridView单元格的焦点#,c#,datagridview,C#,Datagridview,我有c#中的dataGridview用于采购订单输入。选择ItemId后按Enter键时,我想将单元格焦点从ItemId更改为NoofQty。然后再次按Enter键转到下一行项目ID 哪个dataGridview事件适用于此?你能请任何人帮帮我吗。。 我已经尽我所能做到了以下几点 试试这个: DataGridViewRow selectedRow = myGridView.Rows[rowToSelect]; selectedRow.Selected = true; selectedRow.C

我有c#中的dataGridview用于采购订单输入。选择ItemId后按Enter键时,我想将单元格焦点从ItemId更改为NoofQty。然后再次按Enter键转到下一行项目ID

哪个dataGridview事件适用于此?你能请任何人帮帮我吗。。 我已经尽我所能做到了以下几点

试试这个:

DataGridViewRow selectedRow = myGridView.Rows[rowToSelect];
selectedRow.Selected = true;
selectedRow.Cells[columnToSelect].Selected = true;

private void Form1\u加载(对象发送方,事件参数e)
{
DataGridViewComboBoxColumn cmb=(DataGridViewComboxColumn)dataGridView1.Columns[0];
cmb.Name=“cmb”;
cmb.MaxDropDownItems=4;
int no=1001;
对于(int i=0;i<100;i++)
{
否++;
cmb.Items.Add(no.ToString());
}            
dataGridView1.RefreshEdit();
dataGridView1.Rows.Add();
}
私有void dataGridView1_CellEndEdit(对象发送方,DataGridViewCellEventArgs e)
{
尝试
{
如果(e.ColumnIndex==0)//ItemId
{
dataGridView1.CurrentCell=dataGridView1.Rows[e.RowIndex].Cells[4];
dataGridView1.CurrentCell.Value=“1”;
dataGridView1.BeginEdit(true);
}
如果(e.ColumnIndex==4)//NoofQty,则为else
{
dataGridView1.Rows.Add();
dataGridView1.CurrentCell=dataGridView1.Rows[e.RowIndex+1]。单元格[0];
}
}
捕获(例外情况除外)
{
MessageBox.Show(例如Message);
}
}

根据@Pranav BitWiser指南,此代码运行良好…

谢谢。。但是不起作用。。因为我不能编辑那个单元格,为什么?问题是什么?目前我将您的代码放在dataGridView1_CellEndEdit事件中。我的问题是当我从e.columnIndex=0按Enter键,然后转到同一行的columnIndex 4。第二组代码现在可以工作了。”myGridView.CurrentCell=myGridView.Rows[index].Cells[4];myGridView.BeginEdit(true);'但选择显示在当前编辑行的下一行。在下面,您将找到一个正确的符号..您必须单击..以接受它作为解决方案
DataGridViewRow selectedRow = myGridView.Rows[rowToSelect];
selectedRow.Selected = true;
selectedRow.Cells[columnToSelect].Selected = true;
myGridView.CurrentCell = myGridView.Rows[index].Cells[4];
myGridView.BeginEdit(true);
 private void Form1_Load(object sender, EventArgs e)
    {
        DataGridViewComboBoxColumn cmb = (DataGridViewComboBoxColumn)dataGridView1.Columns[0];          
        cmb.Name = "cmb";
        cmb.MaxDropDownItems = 4;
        int no = 1001;
        for (int i = 0; i < 100; i++)
        {
            no++;
            cmb.Items.Add(no.ToString());
        }            
        dataGridView1.RefreshEdit();
        dataGridView1.Rows.Add();

    }

    private void dataGridView1_CellEndEdit(object sender, DataGridViewCellEventArgs e)
    {
        try
        {
            if(e.ColumnIndex==0)// ItemId
            {

                dataGridView1.CurrentCell = dataGridView1.Rows[e.RowIndex].Cells[4];
                dataGridView1.CurrentCell.Value = "1";
                dataGridView1.BeginEdit(true);                    
            }
            else if (e.ColumnIndex == 4)// NoofQty
            {
                dataGridView1.Rows.Add();
                dataGridView1.CurrentCell = dataGridView1.Rows[e.RowIndex+1].Cells[0];
            }
        }
        catch (Exception ex)
        {
            MessageBox.Show(ex.Message);
        }
    }