0

datatableからgridviewにデータをバインドするためのgridviewとsqldatasourceがあります。

セルの値を新しい値で更新していて、その値がグリッドビューの他のセルにすでに存在している場合、一意の値に対して制約エラーが発生します。

そのエラーをキャッチし、ラベルにテキストを表示して、値がすでに存在することをユーザーに警告するにはどうすればよいですか?だから、私はイベントからグリッドビューに何かを追加していません、そして私が捕まえることができるものは何もありません。グリッドビューを編集しているだけです。

ありがとう

4

2 に答える 2

0

挿入/挿入ハンドラーを定義したいと思います。これらのハンドラーへの引数には、データベースからスローされた例外が含まれています。

http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.sqldatasource.inserted.aspx

http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.sqldatasourcestatuseventargs.aspx

于 2012-05-10T17:22:30.273 に答える
0

のハンドラーを追加し、OnRowUpdatedそこでエラーを処理します。

例:

OnRowUpdated="GridViewUpdateEventHandler"


protected void GridViewUpdateEventHandler(Object sender, GridViewUpdatedEventArgs e)
{
    if(e.Exception!=null)
    {
       lblForError.Text="Unable to update"; //etc
    }
}

他の人はそれを行うことを提案していますが、これは実際に更新を続行するOnRowUpdatingに検証したい場合です. このルートに進むことに決めた場合は、次のようにパラメーターを True に設定するだけです。e.CancelGridViewUpdateEventArgs

e.Cancel=true;
于 2012-05-10T17:26:12.990 に答える