sqldatasourceとGridViewを使用しています。RowDataBound
イベントでGridViewからセルの値を取得したいのですが、使用できないためe.RowIndex
です。
セルが空の場合に更新イベントをチェックインするにはどうすればよいですか?使用if != null
しましたが、動作しなかったので、空かどうかを確認する必要があります。
ありがとう
sqldatasourceとGridViewを使用しています。RowDataBound
イベントでGridViewからセルの値を取得したいのですが、使用できないためe.RowIndex
です。
セルが空の場合に更新イベントをチェックインするにはどうすればよいですか?使用if != null
しましたが、動作しなかったので、空かどうかを確認する必要があります。
ありがとう
RowdataBoundイベントでは、次のコードを使用して、gridviewからセルの値を取得できます。
[ 1 ]//特定の行のユーザー名を取得
string servicename = Convert.ToString(DataBinder.Eval(e.Row.DataItem, "Name"));
RowUpdatingイベントでは、次のコードを使用して、セルが空かどうかを確認できます。
string servicename = grdvw_showdetails.DataKeys[row.RowIndex][1].ToString();
上記のコードは、行更新イベントでDatakeyを使用しています。データキーを使用したくない場合は、特定のセルをチェックするコードが空であるかどうかを確認します。
TextBox txtaname = (TextBox)row.FindControl("txt_updname");
if(txtaname.text != null)
編集:
この答えは素晴らしいです。ただし、少しコメントを追加したいと思います。RowDatabound
イベント内の行セルデータをチェックする場合、行DataItem
のItemArrayプロパティに直接アクセスすることはできません。したがって、このようなことを行うと、それは無意味です:string val = e.Row.Cells[2].Text.ToString();
そしてエラーをスローします。
そこで、この答えの最初の行が出てきます。[ 1 ]
次の画面は、デバッグモードで監視を行った場合の、行の基になるプロパティのツリー/階層を示しています。