3

テンプレートでgridviewを使用して、SQLデータベースの情報を表示および編集しています。

その行のデータを編集して変更し、[Enter]をクリックすると、サーバーへの送信をtrueに設定して使用するページの一番上のボタンが自動的に押されます。これは、更新ではなく削除を試みることを意味します。

グリッドビューの周りにパネルを設定し、パネルのデフォルトボタンを「更新ボタン」に設定しようとしましたが、ボタンを「表示」できないため、それは許可されません。

4

2 に答える 2

4

同様の問題があり、非常に簡単な回避策を見つけました。

  1. ボタンを GridView の下に配置し、CSS で非表示にします (位置: 相対、左: -2000px)。
  2. GridView の周囲に Panel を作成し、作成したばかりのボタンの 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 に答える