3

我正在使用带有模板的 gridview 来显示和编辑来自 sql 数据库的一些信息。

当我编辑和更改该行中的数据然后单击输入时,它会自动按下页面上最高的按钮,该按钮使用提交到服务器设置为 true,这意味着它将尝试删除而不是更新。

我已经尝试在gridview周围设置一个面板并将面板的默认按钮设置为“updatebutton”,但它不允许这样做,因为它无法“看到”按钮。

4

2 回答 2

4

我有一个类似的问题,我找到了一个非常简单的解决方法:

  1. 在 GridView 下方放置一个按钮,并通过 CSS 使其不可见(即位置:相对;左:-2000px)
  2. 在 GridView 周围创建一个面板,并将我们刚刚创建的按钮的 ID 作为 DefaultButton 提供给它。
  3. 为按钮的单击事件编写以下代码行: myGridView.UpdateRow(myGridView.EditIndex, false);

每当您现在在 GridView 中按 Enter 键时,都会确认已编辑的行。

于 2011-04-05T15:53:18.033 回答
0

您需要处理网格的 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
    }
}
于 2009-09-07T12:48:17.957 回答