如何通过单击该行上的“Enter”按钮将现有行从数据网格视图添加到另一个行

本文关键字:数据网 数据 网格 视图 另一个 添加 按钮 单击 何通过 Enter | 更新日期: 2023-09-27 18:35:24

>我有两个数据网格视图,一个用于预览一些项目,另一个用于存储数据

我只想接受 Enter 按钮作为双击一行请注意,当我使用 DoubleClick 事件时,它会返回正确的行数据。但是当我使用 KeyDown 事件并使用 Enter 按钮时它给出了下一行的信息!这是不对的。这是我尝试过的

  private void datagridlistcust_KeyDown(object sender, KeyEventArgs e)
        {
            if (e.KeyCode == Keys.Enter)
            {
                Close();
            }
        }

这就是我填充文本的方式

    TXTIDPROD.Text = FRM.DGVPRODUCTS.CurrentRow.Cells[0].Value.ToString();
    TXTNAMEPROD.Text = FRM.DGVPRODUCTS.CurrentRow.Cells[1].Value.ToString();
    TXTPRICE.Text = FRM.DGVPRODUCTS.CurrentRow.Cells[2].Value.ToString();

最后,我如何填充第二个数据网格视图

private void TXTDISCOUNT_KeyDown(object sender, KeyEventArgs e)
        {
            if (e.KeyCode == Keys.Enter)
            {
                DataRow r = dt.NewRow();
               r[0] = TXTIDPROD.Text;
            r[1] = TXTNAMEPROD.Text;
            r[2] = TXTPRICE.Text;
            r[3] = TXTAMOUNT.Text;
            r[4] = TXTTOTAL.Text;
            r[5] = TXTDISCOUNT.Text;
            r[6] = TXTAFTERDIS.Text;
            dt.Rows.Add(r);
            datagridview1.DataSource = dt;
            }
        }

如何通过单击该行上的“Enter”按钮将现有行从数据网格视图添加到另一个行

有一个非常简单的方法可以做到这一点:

public Form()
{
    InitializeComponent();
    // subscribe double click event handler
    dataGrid.DoubleClick += txtHost_DoubleClick;
    // subscribe keypress event handler
    dataGrid.KeyPress += txtHost_KeyPress;
}
void dataGrid_KeyPress(object sender, KeyPressEventArgs e)
{
    // check for Enter Key Press
    if (e.KeyCode == Keys.Enter)
    { 
        // Call the double click event handler
        dataGrid_DoubleClick(sender, e);
    }
}
void dataGrid_DoubleClick(object sender, EventArgs e)
{
    // Your Code here to handle double click event
}