如何通过单击行上的“enter”按钮将现有的行从datagridview添加到另一个行?
问题描述:
我有两个datagridviews,一个用于预览一些项目,另一个存储数据如何通过单击行上的“enter”按钮将现有的行从datagridview添加到另一个行?
我只是想接受回车按钮上的行 注意双击,当我使用DoubleClick事件它给我回该行的数据是正确的。 但是当我使用KeyDown事件并使用输入按钮 它给出了下一行的信息!这是不对的。 这里我所说的
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();
然后最后该如何填补第二datagridview的
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;
}
}
答
有一个很简单的方法要做到这一点:
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
}
它仍然得到下一行的数据被选中: –
你只需要处理双击事件,当进入时按双击事件处理程序将被执行。 –