- - PR -
ASP.NET2.0 GridView内のテキストボックスの編集データを参照出来ない
1
投稿者 | 投稿内容 | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2007-04-11 08:42
以下、ご質問がありますので、どなたか御存知の方、回答頂けないでしょうか?
【環境】 WinXpPro,VB.NET2005,ASP.NET2.0 【質問内容】 ASP.NET2.0で使用されるGridViewで質問があります。 Gridview内にテンプレートフィールドを追加し、 ItemTemplate内に、ラベルとテキストボックスを配置し、 又、CommandFieldを追加し、Gridview内のデータを編集・更新・キャンセル 出来るようにしています。 GridView内に配置したテキストボックスの値を、編集ボタンが表示されている状態 (表示モード)で、ブラウザよりテキストボックスの値を変更し、編集ボタンが押下されたときに発生するイベント(RowEditing)内で変更されたテキストボックスの 値を取得したいのですが、取得出来ないようです。 Gridviewの外にボタンを配置し、ボタン押下時に以下のソースを記述すると、 編集されたテキストボックスの値が取得できるようです。 なんとか、RowEditingイベント発生時にテキストの編集後の状態を 取得したいのですが、取得できる方法が分かる方いらっしゃいましたら、 ご教授頂けないでしょうか? これが出来ないと、CommandFieldを使用した動的なテキストの編集って出来ないよう な気がするのですが。宜しく御願い致します。 ちなみにItemTemplate列のテキストボックスの DataBindingsプロパティ内のTextのカスタムバインドには何も設定しておりません。 以下、ソースを記述します。 Protected Sub gvwLst_RowEditing(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewEditEventArgs) Handles gvwLst.RowEditing 'セッションのページ数、一覧データを再バインド gvwLst.EditIndex = e.NewEditIndex Dim ctlTxt As New Web.UI.WebControls.TextBox 'テキストボックスコントロール dim straaa as string ctlTxt = gvwLst.Rows(gvwLst.EditIndex).FindControl("aaa") straaa = ctlTxt.text End Sub | ||||||||||||
|
投稿日時: 2007-04-11 11:58
コントロールがネストしてたりしないですよね。
コーディング無しでもろもろの処理を行います。 | ||||||||||||
|
投稿日時: 2007-04-11 12:46
Updatingイベント内であれば、更新前のデータと更新しようとしているデータを
取り出すことができるようになっています。 動的なテキストの変更といっても通常はこの仕組みがあればいいように思いますが。 そもそも表示モードなのにデータを入力して、編集モードに入るタイミングで データに変更をいれようというのは何か使い方が違うような気がしますが。。。 ただ、べるさんが文字を取得できたとおっしゃってますし、データがとれて いないのは実際には何か別の問題でしょうけどね。 |
1