【发布时间】:2011-04-05 23:53:18
【问题描述】:
我正在使用带有模板的 gridview 来显示和编辑来自 sql 数据库的一些信息。
当我编辑和更改该行中的数据然后单击输入时,它会自动按下页面上最高的按钮,该按钮使用提交到服务器设置为 true,这意味着它将尝试删除而不是更新。
我已经尝试在 gridview 周围设置一个面板并将面板的默认按钮设置为“更新按钮”,但它不允许这样做,因为它无法“看到”按钮。
【问题讨论】:
我正在使用带有模板的 gridview 来显示和编辑来自 sql 数据库的一些信息。
当我编辑和更改该行中的数据然后单击输入时,它会自动按下页面上最高的按钮,该按钮使用提交到服务器设置为 true,这意味着它将尝试删除而不是更新。
我已经尝试在 gridview 周围设置一个面板并将面板的默认按钮设置为“更新按钮”,但它不允许这样做,因为它无法“看到”按钮。
【问题讨论】:
我遇到了类似的问题,我找到了一个非常简单的解决方法:
现在只要在 GridView 中按回车,编辑的行就会被确认。
【讨论】:
<div style="display: none;"> 中以隐藏它而不会破坏回发处理程序。
您需要处理网格的 KeyDown 或 KeyPress 事件,如果 Keys.Enter 则检查是否按下了键:
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void dataGridView1_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Enter)
{
button1_Click(this, EventArgs.Empty);
}
}
private void button1_Click(object sender, EventArgs e)
{
// Your logic here
}
}
【讨论】: