DataBinding?资料绑定? #3--以DropDownList为例
2010-10-28 17:31
627 查看
DataBinding?资料绑定? #3--以DropDownList为例
http://www.dotblogs.com.tw/mis2000lab/archive/2008/10/15/databinding_column081015.aspx本文是一系列的文章,建议您依照顺序来观赏:
请看过前面的文章后,再继续看下去:
DataBinding?资料绑定? #1--DataSourceID与DataSource? (2010-10-28 17:14)
DataBinding?资料绑定? #2--DataSet + 绑定表达式 (2010-10-28 17:25)
跟上一篇文章差不多,我们以 DropDownList为例。
继续讨论DataSet里面的DataTable,这次介绍 Column.....
本文会真正使用到DataBinding,写法单纯多了,
不像上一篇文章这么繁琐
我们继续看看这个例子。
下面的范例,可以放在本书的14.3节,作为课后补充!
对于 ADO.NET / DataSet不熟悉的朋友,请看上一篇文章 or 本书13与14两章。
因为这个范例是给本书读者,作为课后的补充。 事先会假设读者已经有底子了
[b]ASP.NET案例精编[/b](清华大学出版社 / 作者MIS2000Lab)
http://www.china-pub.com/46063
2009/5/15上市
市场价 :¥59.80 RMB(人民幣)
=========================================================================
HTML画面的原始码,只有一个DropDownList控件而已:
<form id="form1" runat="server">
<div>
<asp:DropDownList ID="DropDownList1" runat="server">
</asp:DropDownList>
</div>
</form>
画面上只有一个 DropDownList控件,为何能连结数据库?捞出许多资料?
怎么做到的?......................方法很多,但我们采用 DataSet的DataTable来作。
=========================================================================
后置程序代码(for C#):
protected void Page_Load(objectsender, EventArgs e)
{
SqlConnection Conn = new SqlConnection("数据库的连结字符串");
//Conn.Open(); //第一、连结数据库
SqlDataAdapterda = new SqlDataAdapter("select top 10 id,title,summary from test order byid", Conn);
DataSet ds = new DataSet();
da.Fill(ds, "test"); //第二、执行SQL指令,取出数据
//批注:执行SQL指令之后,把数据库捞出来的结果,交由画面上 DropDownList控件来呈现。
DropDownList1.DataValueField = "id";//在此输入的是数据表的字段名称
DropDownList1.DataTextField = "title"; //在此输入的是数据表的字段名称
DropDownList1.DataSource = ds.Tables["test"].DefaultView;
DropDownList1.DataBind();
//Conn.Close(); //第四、关闭数据库的连接与相关资源
}
后置程序代码(for VB):
Protected Sub Page_Load(ByValsender As Object, ByVal e As System.EventArgs) Handles Me.Load
Dim Conn As SqlConnection = New SqlConnection("数据库的连结字符串")
'Conn.Open(); '--第一、连结数据库
Dim da AsSqlDataAdapter = New SqlDataAdapter("select top 30 id,title,summary from testorder by id", Conn)
Dim ds As DataSet = New DataSet
da.Fill(ds, "test") '--第二、执行SQL指令,取出数据
'--批注:执行SQL指令之后,把数据库捞出来的结果,交由画面上 DropDownList控件来呈现。
DropDownList1.DataValueField = "id" '--在此输入的是数据表的字段名称
DropDownList1.DataTextField = "title" '--在此输入的是数据表的字段名称
'************** DataBinding **********************
DropDownList1.DataSource = ds.Tables("test").DefaultView DropDownList1.DataBind()
'Conn.Close() '--第四、关闭数据库的连接与相关资源
End Sub
上面的范例,有出现 DataBinding的动作,
比较看看,跟上一篇文章的作法,有何差异?
上面的 DropDownList控件,请看本书3.7节,我写了很多范例,很详细。
DropDownList学会了,其它类似的 ListBox / CheckBox.....都大同小异。 学通了,就能举一反三
DataAdapter会自动开启、关闭数据库的联机,所以我们不用手动去控制他。请看本书14.3节,在此不赘述。
======== 第二种作法 =====================================================================
上面的后置程序代码( forC#),您也可以写成下面这样
protected void Page_Load(object sender,EventArgs e)
{
SqlConnection Conn = new SqlConnection("数据库的连结字符串");
//Conn.Open(); //第一、连结数据库
SqlDataAdapterda = new SqlDataAdapter("select top 10 id,title,summary from test order byid", Conn);
DataSet ds = new DataSet();
da.Fill(ds, "test"); //第二、执行SQL指令,取出数据
//批注:执行SQL指令之后,把数据库捞出来的结果,交由画面上 DropDownList控件来呈现。
//****** 第二种写法 ********************* DropDownList1.DataValueField =ds.Tables["test"].Columns[0].ToString(); //数据表的字段名称 DropDownList1.DataTextField =ds.Tables["test"].Columns[1].ToString(); //数据表的字段名称//****************************************
DropDownList1.DataSource = ds.Tables["test"].DefaultView; DropDownList1.DataBind();
//Conn.Close(); //第四、关闭数据库的连接与相关资源
}
后置程序代码( for VB)
Protected Sub Page_Load(ByValsender As Object, ByVal e As System.EventArgs) Handles Me.Load
Dim Conn As SqlConnection = New SqlConnection("数据库的连结字符串")
'Conn.Open(); '第一、连结数据库
Dim da AsSqlDataAdapter = New SqlDataAdapter("select top 30 id,title,summary from testorder by id", Conn)
Dim ds As DataSet = New DataSet
da.Fill(ds, "test") '第二、执行SQL指令,取出数据
'批注:执行SQL指令之后,把数据库捞出来的结果,交由画面上 DropDownList控件来呈现。
'****** 第二种写法 *********************
DropDownList1.DataValueField = ds.Tables("test").Columns(0).ToString() '--数据表的[字段名称]
DropDownList1.DataTextField = ds.Tables("test").Columns(1).ToString() '--数据表的[字段名称]
'****************************************
DropDownList1.DataSource = ds.Tables("test").DefaultView
DropDownList1.DataBind()
'Conn.Close() '第四、关闭数据库的连接与相关资源
End Sub
上面的范例,有出现 DataBinding的动作,
比较看看,跟上一篇文章的作法,有何差异?
上面的程序(第二种作法),重点解说如下:
Row ====>列,横的一列,类似数据表(Table)里面一笔一笔的纪录!
Column==>行,直的一行。就是数据表里面的「字段名称」!
Column 1 / Column 2 / Column3 .......
字段名称1 / 字段名称 2 / 字段名称 3 .......
----------------------------------------------------------------
Row 1 1111111 张小强 班长 .......
Row 2 2222222 马小九 副班长 .......
Row 3 3333333 蓝小丁 风纪股长 .......
当然,DropDownList + SqlDataSource,只要设定几下也能有相同结果出来。
这个范例是另外一种写法,仅供各位参考。
您也可以看看这篇文章,这个范例,我们用DataSourceID来作数据系结
[习题]两个SqlDataSource,共享一个GridView
相关文章推荐
- DataBinding?资料绑定?
- DataBinding?资料绑定? #1--DataSourceID与DataSource?
- DataBinding?资料绑定? #4--绑定表达式原来可以这样用?(DataSet / DataReader)
- DataBinding?资料绑定? #6 -- 伤脑筋的 GridView加总、小计(Question)
- DataBinding?资料绑定? #7 -- 伤脑筋的 GridView加总、小计(原来如此 / 范例下载)
- dropdownlist绑定不了数据只显示System.Data.DataRowView[zhuan]
- SilverLight DataBinding绑定详解(学习笔记)——转载
- Android官方数据绑定框架DataBinding(一)
- Android官方数据绑定框架DataBinding(二)
- Android官方数据绑定框架DataBinding
- Android官方数据绑定框架DataBinding(一)
- ASP.NET dropdownlist绑定数据却显示System.Data.DataRowView
- 理解并使用数据绑定框架dataBinding
- Android官方DataBinding(六): @= 操作符进行双向绑定
- 数据绑定技术DataBinding
- 给DropDownList的DataTextField属性绑定两个字段
- Data Binding Notifications绑定通知
- Android官方DataBinding(九):反向绑定,View变化结果回写进数据模型中
- Android官方数据绑定框架DataBinding(一)
- Android官方DataBinding(九):反向绑定,View变化结果回写进数据模型中