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は、ページの読み込み時にバインドされることが多い.次の例がこの状況です.


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>


 BorderColor="black"
 BorderWidth="1"
 GridLines="Both"
 CellPadding="3"
 CellSpacing="0"
 HeaderStyle-BackColor="#aaaadd"
/>

この例では、まずデータテーブル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テンプレートを作成



 
 




DataBindで生成されたテーブルをASP:DataGridラベルに並べ替えるには、次の2つのAllowSorting="true"を追加します.
次に次のサブプログラムを挿入します.


Sub MyDataGrid_Sort(sender As Object, e As
DataGridSortCommandEventArgs)
SortField = e.SortField
DataGrid1.DataBind
End Sub
OKの下には不要で並べ替えのオプションが表示されます.