1

Access データベースに接続されているDataGridViewC# があります。のすべての本が表示されますDataGridView。以下に示すように、行を保存するよりも行を選択するためのマウス クリック イベント ハンドラーを作成しました。

private void Mouse_Click(object sender, MouseEventArgs e)
{
    try
    {
        temp = dataGridView1.SelectedRows[0].Index.ToSt… 

        //This one is selecting the row. To do that select panel>event> on MouseClick write name and double click:

        MessageBox.Show("You have selected the row " + temp);
    }
    catch
    {
    }
}

フォームを開くと機能します。ただし、選択した行を別のデータベースに保存すると、Mouse Click イベント ハンドラーが機能しなくなります。つまり、最初に選択した行を保存した後、戻って別の行を選択してデータベースに保存すると、Mouse Click Event ハンドラーが機能しません。行が範囲外であるというメッセージが表示されます。

4

1 に答える 1

0

接続タイプ、イベント ハンドラー、さらに重要なレコードの保存/更新方法に関する情報があまり提供されていないので、ここで推測しています: グリッドの DataSource を誤って上書きしていませんか? それがそのような動作について私が想像できる唯一のことです(「行が範囲外です」-これは、イベントが意図したとおりに機能することを前提としていますが、関数内のコードはデータを表示できなくなりました)。

于 2013-04-23T13:57:03.583 に答える