私はWindowsフォームプロジェクトでDataGridView
と作業しています。 私は、編集モードでappensと似た何かを入手したいと思います。MS SQL Server Management Studio。WinForms DataGridViewの動作はSQL Server Management Studioと似ています
私が説明しよう:私は私のデータグリッドにいくつか必須列をしましたし、私は行がこれらの列の値が有効である場合にのみ、グリッドに追加されたいです。 セルの値が有効でない場合は、メッセージボックスでユーザーに警告し、ESCを押すと、間違った行をリセットする必要があります。
私はCellValidating
とRowValidating
イベントを試してみましたが、結果は満足できません。
私を助けることができますか?
UPDATE
私はRowValidating
をこのように実装:
private void myGrid_RowValidating(object sender, DataGridViewCellCancelEventArgs e)
{
if (string.IsNullOrEmpty(myGrid.Rows[e.RowIndex].Cells["MandatoryColumn"].FormattedValue.ToString()))
{
e.Cancel = true;
myGrid.Rows[e.RowIndex].Cells["MandatoryColumn"].ErrorText = "Mandatory";
MessageBox.Show("Error message");
}
else
{
myGrid.Rows[e.RowIndex].Cells["MandatoryColumn"].ErrorText = string.Empty;
}
}
は必須フィールドの値が有効でない場合は、メッセージボックスが表示し、セルが赤点在であるが、 ESC私はIndexOutOfRangeException
を取得します... 例外は、メッセージボックスを表示し、メソッドの動作をコメントしている場合にスローされますが(ただしnこの問題は、次のMSDNフォーラムに説明されて)...
コードはどこにあり、なぜそれがあなたを満足させなかったのですか? – V4Vendetta
@ V4Vendetta私はいくつかのコードを追加しました:) – davioooh