none
dataGridView 的 CurrentCell 變更 RRS feed

  • 問題

  • 我做了一個編輯時的檢查,當使用者在 Cell 中輸入錯誤的資訊,就不能離開 Cell 。

    我將這段檢查和判斷放在 CellValidating 事件中,可是如果使用者要放棄編輯,或是關閉畫面,卻因為 CellValidating 的阻擋,而無法動作。

    請問各位先進,我該如何處理【放棄】的動作,讓它不會被 CellValidating 事件擋住。

    2006年9月5日 上午 05:58

解答

  • Dear 林小庫:

    一般而言,我們可能會設計成:當Cell等於空白時,就當成使用者是放棄編輯的意思

    當你的程式可以判斷使用者何時要放棄編輯,就可以額外處理了。

    例如:在CellValidating中,加一行判斷,當不是空白時,才執行你的邏輯檢查

     

    希望對你有所幫助

    Kevin,Tsui

    2006年9月5日 下午 04:34

所有回覆

  •  

    放棄編輯的部份,假如你是使用[取消]按紐模式的話,將按紐的CausesValidation設為False.

    關閉Form的部份,可透過覆載OnFormClosing函式,允許不通過驗證即關閉.

    public partial class Form1 : Form
        {
            ..............

            protected override void OnFormClosing(FormClosingEventArgs e)
            {
                base.OnFormClosing(e);
                e.Cancel = false; //always allow form close.
            }

        }

     

    2006年9月5日 上午 08:16
  • Dear 林小庫:

    一般而言,我們可能會設計成:當Cell等於空白時,就當成使用者是放棄編輯的意思

    當你的程式可以判斷使用者何時要放棄編輯,就可以額外處理了。

    例如:在CellValidating中,加一行判斷,當不是空白時,才執行你的邏輯檢查

     

    希望對你有所幫助

    Kevin,Tsui

    2006年9月5日 下午 04:34