◇aspx.vb Partial Class Default3 Inherits System.Web.UI.Page
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load If Not IsPostBack Then Dim dt As Data.DataTable = New Data.DataTable dt.Columns.Add("Field1", GetType(String)) dt.Columns.Add("Field2", GetType(String)) dt.Columns.Add("Field3", GetType(String))
For i As Integer = 1 To 10 dt.Rows.Add(New String() {i.ToString(), _ i.ToString() + i.ToString(), _ i.ToString() + i.ToString() + i.ToString()}) Next Session("myData") = dt Me.GridView1.DataSource = dt Me.GridView1.DataBind() End If End Sub
Protected Sub GridView1_RowCommand(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewCommandEventArgs) Handles GridView1.RowCommand If e.CommandName = "Select" Then Dim index As Integer = Convert.ToInt32(e.CommandArgument) Dim dt As Data.DataTable = DirectCast(Session("myData"), Data.DataTable) Me.TextBox1.Text = Convert.ToString(dt.Rows(index)("Field1")) Me.TextBox2.Text = Convert.ToString(dt.Rows(index)("Field2")) Me.TextBox3.Text = Convert.ToString(dt.Rows(index)("Field3")) End If End Sub End Class
◇aspx.vb Partial Class Default3 Inherits System.Web.UI.Page
Protected m_datasource As Data.DataTable
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load If Not IsPostBack Then Dim dt As Data.DataTable = New Data.DataTable dt.Columns.Add("Field1", GetType(String)) dt.Columns.Add("Field2", GetType(String)) dt.Columns.Add("Field3", GetType(String))
For i As Integer = 1 To 10 dt.Rows.Add(New String() {i.ToString(), _ i.ToString() + i.ToString(), _ i.ToString() + i.ToString() + i.ToString()}) Next Session("myData") = dt Me.m_datasource = dt Me.GridView1.DataSource = dt Me.GridView1.DataBind() Else Me.m_datasource = DirectCast(Session("myData"), Data.DataTable) End If End Sub
Protected Sub GridView1_RowCommand(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewCommandEventArgs) Handles GridView1.RowCommand If e.CommandName = "MyCommandName" Then Dim index As Integer = Convert.ToInt32(e.CommandArgument) Me.TextBox1.Text = Convert.ToString(Me.m_datasource.Rows(index)("Field1")) Me.TextBox2.Text = Convert.ToString(Me.m_datasource.Rows(index)("Field2")) Me.TextBox3.Text = Convert.ToString(Me.m_datasource.Rows(index)("Field3")) End If End Sub End Class
> GridViewのDataSourceにDataTableの値をセッションに指定していますが > このようにしないと選択された値は取得できないのでしょうか? ASP.NET の値の永続化についてはこちらの「値の永続化」を参照下さい。 (Jitta さんのページ。現在以降作業中みたいなので、キャッシュです) http://72.14.235.104/search?q=cache:94CR3qsURAUJ:quick-tips.hp.infoseek.co.jp/asp.net/tip.html+ASP.NET%E3%81%AE%E5%B0%8F%E6%8A%80&hl=ja&ct=clnk&cd=1&lr=lang_ja
分類:[ASP.NET]
お世話になります。
ASP.net2.0(VB.NET2005)で開発しています。
GridViewに貼り付けたLinkButtonを押下したら、選択された行のデータが
指定したテキストボックスに挿入されるような画面を作成したいと思って
います。
現在、検索キーワードでDBに検索して、その結果をGridViewのバインドして
一覧表示までは何とかできたのですが・・・
LinkButton押下時の処理、または設定がわからなくて悩んでいます。
申し訳ありませんが、ご存知の方がいましたらアドバイス宜しくお願い
します。では失礼します。