1

私のC#winformにはdatagridviewがあり、更新ボタンをクリックしたときに、セルが編集されたかどうかを確認するためにどのコードを配置すればよいですか?

true または false が必要なだけです。

ありがとう。

================================================== =========================

私の既存のコード:

#region Edit Records
        private void InProSysAdministrationEventsUpdateButton_Click(object sender, EventArgs e)
        {
            if (MessageBox.Show("Please Click Ok to Edit the Events", "Confirmation", MessageBoxButtons.OKCancel) == DialogResult.OK)
            {
                ManipulateData.UpdateData(connectionString, tblconn, tblscmd, tbldataadaptor, tbldatatable, cmbuilder, "usp_readallevents", readalleventsdataGridView);
            }
        }
#endregion

次のことを行う必要があります。

1) ユーザーが編集をクリック

2) セルが編集されたかどうかのシステムチェック

3) セルが編集されていない場合は、 messagebox.show("No Changes Done.") になります。

4) それ以外の場合は、データベースを更新します。

4

2 に答える 2

3

DataGridView.CellValueChanged イベントを確認しましたか? MSDN

このためのハンドラーを作成してフラグを設定するか、必要なアクションを実行するだけでかなり簡単になります。

これを実行する方法の例は次のとおりです。

    protected override void OnLoad(EventArgs e)
    {
        myDataGridView.CellValueChanged += new DataGridViewCellEventHandler(
        myDataGridView_CellValueChanged);
    }

    private void myDataGridView_CellValueChanged(
    object sender, DataGridViewCellEventArgs e)
    {
       //some very crude examples of actions you might want to perform when the event handler is triggered.
       myObject.update();
       //or something else like
       myObject.isUpdatable = true;
    }

ポイント 3 に関しては、msgbox はおそらく重要でないイベントをユーザーに通知する最良の方法ではありません。彼らは、情報を入力していないことをすでに知っている可能性が高く、おそらく必要なセルにフラグを立てるなど、煩わしさの少ない方法でこのフィードバックを提供できます。思考の糧。

今後は、使用しているクラスを MSDN で検索し、探しているイベント、メソッド、またはプロパティの種類を検索して、一致するものがあるかどうかを確認することをお勧めします。有用な例もたくさんあります。

于 2012-04-27T16:20:43.963 に答える