2012-04-24 8 views
10

私はsqldatasourceとGridViewを使用しています。 RowDataBoundイベントのGridViewからセルの値を取得したいのですが、e.RowIndexを使用できないためです。行データにバインドされたイベントのセルの値を取得する方法は?セルが空であるかどうかをチェックする方法は?

セルが空である場合のupdatngイベントのチェックイン方法を教えてください。 if != nullを使用しましたが、機能しなかったので、空であるかどうかを確認する必要があります。

おかげRowdataBoundイベントで

+0

私は家にいないよ何uはコード – sharad

+0

で行っている表示するには、私は、コードを持っていないが、私はその後、GridViewコントロールのために、細胞のtexboxコントロールから値を取ったいくつかのサンプルコードを追加しますchekc if!= null! 。最初は何をすればいいのか分かりません。 – Alexander

答えて

15

、次のコードを使用するGridViewからセルの値を取得できます。

を[] //

string servicename = Convert.ToString(DataBinder.Eval(e.Row.DataItem, "Name")); 
ユーザ名rfom特定の行を取得

RowUpdatingイベントでは、次のコードを使用して、セルが空であるかどうかを確認できます。

string servicename = grdvw_showdetails.DataKeys[row.RowIndex][1].ToString(); 

上記のコードでは、行更新イベントでDatakeyを使用しています。あなたがdatakeyを使用したくない場合は、特定のセルをチェックするためのコードが空かないからである

TextBox txtaname = (TextBox)row.FindControl("txt_updname"); 

if(txtaname.text != null) 

EDIT:

この答えは優れています。しかし、私は少しのコメントを追加したいと思います。 RowDataboundイベント内の行セルデータをチェックすると、その行のDataItemのItemArrayプロパティに直接アクセスすることはできません。だから、このようなことをすると無意味です:string val = e.Row.Cells[2].Text.ToString();とエラーを投げます。デバッグモードで時計を行う際

この回答の最初の行の出番だ。[]

画面に続いては、行の基礎となるプロパティのツリー/階層を示しています。

enter image description here

+0

+1とOPと@giri。私はそれがSOのコミュニティでないなら、私は何をするだろうか分からない。人々がこれらの壁を通り抜けて素晴らしい答えを見つけたとき、私はちょうど視覚的な影響を与えるためにあなたの答えをうなずきました。 – bonCodigo

+0

あなたは大歓迎です –

関連する問題