私はsqldatasourceとGridViewを使用しています。 e.RowIndex
を使用できないため、RowDataBound
イベントのGridViewからセルの値を取得したいですか?.
セルが空の場合、updatngイベントをチェックインするにはどうすればよいですか? 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]
次の画面は、デバッグモードで監視を行ったときの、行の基になるプロパティのツリー/階層を示しています。