asp.NetデータバインドDataBindの使用方法
5870 ワード
簡単に説明するDataBindDataBindは3つの方法を含んで、Repeater、DataListとDataGrid、これらのコントロールはすべてSystemにあります.Web.UI.WebControlネーミングスペースでは、WebControlベースクラスから直接または間接的に派生しています.これらの方法はすべてHTMLでデータの内容を表示します.DataBindを確立するすべてのDataBindはDataBind()関数で確立すべきである(C#を使用している場合は大文字と小文字に注意してください)データバインディングは、ページ全体のPAGEとすべてのコントロールの1つの方法であり、つまり、彼はすべてのコントロールで使用することができ、データバインディングを確立するとき、DataBindはコントロールの1つのサブアイテムとして、例えばDataList 1とすることができる.DataBind()、例えばPage.DataBind()は、ページ全体をバインドします.DataBindは、ページの読み込み時にバインドされることが多い.次の例がこの状況です.
配列をバインドし、リストで並べます.
DataBindの高度なアプリケーション定義欄DataBindは、データコマンドを制御し、HyperLinkを読み出してButtonがダイナミックなデータボタンTemplateサンプルテンプレートをハイパーチェーンで表示するようにデータを出力する以下の例を示します.Bound制御表示テーブルのヘッダ(基本コマンド)コマンドはすべて加算されます(または、上記のウェイボーを使用した例です).
HyperLink私たちがデータを出力するとき、女性の名前の下にハイパーチェーンを付けたいと思って、この女性を紹介するページに接続して、HyperLinkで作ることができます.
に代わる
AddToCartイベントをトリガーして、他のイベントの実行を制御できます.
Templateテンプレートを作成
次に次のサブプログラムを挿入します.
Protected Sub Page_Load(Src As Object, E As EventArgs)
DataBind()
End Sub
簡単なデータバインドを使用して、この例を見てみましょう.
<br> Sub SubmitBtn_Click(sender As Object, e As EventArgs)
<br>Page.DataBind
<br> End Sub
<br>
私たちは、その妻を選ぶ場所にコントロールが使われていないのを見ていますが、彼は私たちの選択結果を正確に表示することができます.これはバンドルの結果です.この言葉に注意してください.それは私たちにバンドルのデータを取得させました.プログラムには何もないようですが、データはすでにバインドされています.配列をバインドし、リストで並べます.
<br> Sub Page_Load(sender As Object, e As EventArgs)
<br>If Not IsPostBack Then
<br> Dim values as ArrayList= new ArrayList()
<br> values.Add (" ")
<br> values.Add (" ")
<br> values.Add (" ")
<br> values.Add (" ")
<br> values.Add (" ")
<br> values.Add (" ")
<br> Dim dt As DataTable
<br> Dim dr As DataRow
<br> Dim i As Integer
<br> 'create a DataTable
<br> dt = New DataTable
<br> dt.Columns.Add(New DataColumn(" ", GetType(Integer)))
<br> dt.Columns.Add(New DataColumn(" ", GetType(String)))
<br> dt.Columns.Add(New DataColumn(" ", GetType(String)))
<br> 'Make some rows and put some sample data in
<br> For i = 1 To 5
<br>dr = dt.NewRow()
<br>dr(0) = i
<br>dr(1) = values(i-1).ToString()
<br>If (i > 3) Then
<br> dr(2) = " "
<br>Else
<br> dr(2) = " "
<br>End If
<br>'add the row to the datatable
<br>dt.Rows.Add(dr)
<br> Next
<br> DataGrid1.DataSource = new DataView(dt)
<br> DataGrid1.DataBind
<br>End If
<br>End Sub
<br>
この例では、まずデータテーブルDim dt As DataTableを構築し、次に行の概念Dim dr As DataRowを構築し、次に行にデータを追加し、最後に行をデータテーブルに追加し、DataView DataGrid 1をバインドする.DataSource = new DataView(dt) DataGrid1.DataBindこれが私たちの仕事で、DataGridメソッドを使ってテーブルを生成しました.注意:DataBindを受信するコントロールは、一般的にDropDownList、DataList、DataGrid、ListBoxといった集合的な性質のコントロールがありますが、バンドルされるのは主にArrayList(配列)、Hashtable(哈稀表)、DataView(データビュー)、DataReaderの4つです.注意2:私たちがデータバインディングからデータを取り出すとき、プログラムは一般的に彼らをStringに変換します.このように、伝言簿やチャットルームのようなプログラムを書くとき、データ処理をしなくてもいいですが、时には、データ変換をしなければなりません.例えば、私はBooleanです.どうすればいいですか.次の2つの方法があります.1つはシステムが提供する関数です.変換の役割を果たすことができます.また、バインドにも1つの方法があります.DataBindの高度なアプリケーション定義欄DataBindは、データコマンドを制御し、HyperLinkを読み出してButtonがダイナミックなデータボタンTemplateサンプルテンプレートをハイパーチェーンで表示するようにデータを出力する以下の例を示します.Bound制御表示テーブルのヘッダ(基本コマンド)コマンドはすべて加算されます(または、上記のウェイボーを使用した例です).
フォームが2回繰り返し表示されているのを見ましたか?これは、ラベルにAutoGenerateColumns=「false」コマンドがないためです.デフォルトのAutoGenerateColumnsはTrueです.つまり、自分でヘッダーを生成します.場合によっては、これは必要ありません.HyperLink私たちがデータを出力するとき、女性の名前の下にハイパーチェーンを付けたいと思って、この女性を紹介するページに接続して、HyperLinkで作ることができます.
HeaderText=" "
DataNavigateUrlField=" "
DataNavigateUrlFormatString="detailspage.aspx?id={0}"
DataTextField=" "
Target="_new"
/>
Buttonこれは興味深い例ですに代わる
AddToCartイベントをトリガーして、他のイベントの実行を制御できます.
Templateテンプレートを作成
NavigateUrl = "detailspage.aspx?id={0}" runat="server">
DataBindで生成されたテーブルをASP:DataGridラベルに並べ替えるには、次の2つのAllowSorting="true"を追加します.次に次のサブプログラムを挿入します.
Sub MyDataGrid_Sort(sender As Object, e As
DataGridSortCommandEventArgs)
SortField = e.SortField
DataGrid1.DataBind
End Sub
OKの下には不要で並べ替えのオプションが表示されます.