AutoCAD 3DMAX C语言 Pro/E UG JAVA编程 PHP编程 Maya动画 Matlab应用 Android
Photoshop Word Excel flash VB编程 VC编程 Coreldraw SolidWorks A Designer Unity3D
 首页 > .NET技术

ASP.NET教程第四讲 数据绑定 DataBind

51自学网 http://www.51zixue.net

  4.4 绑定一个数组,然后把它们用列表的方法排列出来

<%@ Import namespace="System.Data" %>
<script language="VB" runat="server">
 Sub Page_Load(sender As Object, e As EventArgs)
  If Not IsPostBack Then
   Dim values as ArrayList= new ArrayList()
   values.Add ("阿珂")
   values.Add ("曾柔")
   values.Add ("建宁")
   values.Add ("沐公主")
   values.Add ("双儿")
   values.Add ("教主夫人")
   Dim dt As DataTable
   Dim dr As DataRow
   Dim i As Integer
   'create a DataTable
   dt = New DataTable
   dt.Columns.Add(New DataColumn("编号", GetType(Integer)))
   dt.Columns.Add(New DataColumn("类型", GetType(String)))
   dt.Columns.Add(New DataColumn("是否", GetType(String)))
   'Make some rows and put some sample data in
   For i = 1 To 5
    dr = dt.NewRow()
    dr(0) = i
    dr(1) = values(i-1).ToString()
    If (i > 3) Then
     dr(2) = "是"
    Else
     dr(2) = "否"
    End If
    'add the row to the datatable
    dt.Rows.Add(dr)
   Next
   DataGrid1.DataSource = new DataView(dt)
   DataGrid1.DataBind
  End If
End Sub
</script>
<form runat=server>
<B>下面是韦小宝的老婆吗?</B>
<asp:DataGrid id="dataGrid1" runat="server"
   BorderColor="black"
   BorderWidth="1"
   GridLines="Both"
   CellPadding="3"
   CellSpacing="0"
   HeaderStyle-BackColor="#aaaadd"
/>
</form>

  在这个例子里面,我们先建立了数据表 Dim dt As DataTable然后我们建立了行的概念Dim dr As DataRow,接着我们向行里面添加了数据,最后我们把行加到数据表里面,绑定DataView DataGrid1.DataSource = new DataView(dt) DataGrid1.DataBind这就是我们所做的工作,然后用DataGrid方法,我们生成了表。

  注意:接收DataBind的控件,一般有DropDownList,DataList,DataGrid,ListBox这些集合性质的控件,而被捆绑的主要是ArrayList(数组),Hashtable(哈稀表),DataView(数据视图),DataReader这四个。

  注意2:我们从数据绑定中取出数据来时,程序一般都是把他们转化为String,这样在写留言簿或者聊天室这样的程序的时候,就可以不进行数据处理了,但是有的时候,还是要进行数据转化,比如,我就是要Boolean,怎么办?有下列两种方法,一种是系统提供的一个函数:

  <%# String.Format("{0:c}", (Container.DataItem.(" 转换类型") %> 可以达到转换的作用

  另外绑定中也自带了一个方法 <%# DataBinder.Eval(Container.DataItem, "转换类型", "{0:c}") %>

 
 

上一篇:十天学会ASP.net(2)  下一篇:十天学会ASP.net(1)