加入收藏 | 设为首页 | 会员中心 | 我要投稿 聊城站长网 (https://www.0635zz.com/)- 智能语音交互、行业智能、AI应用、云计算、5G!
当前位置: 首页 > 综合聚焦 > 编程要点 > 语言 > 正文

C#数据绑定控件中的DataSource属性简谈

发布时间:2023-02-27 13:50:43 所属栏目:语言 来源:
导读:有的时候,你在编程进入一定阶段,进一步提升很困难的境况之下,不妨回过头来看看基础的东西,或许你会有新的受益,或许能够真正的体会到孔夫子所谓的“温故而知新”的真正内涵。

常用的C#数据绑定控件
有的时候,你在编程进入一定阶段,进一步提升很困难的境况之下,不妨回过头来看看基础的东西,或许你会有新的受益,或许能够真正的体会到孔夫子所谓的“温故而知新”的真正内涵。
 
常用的C#数据绑定控件有:Repeater、DataList、GridView、DetailsView等,在这里我拿Repeater来简单说明问题。
 
使用该属性指定用来填充Repeater控件的数据源。DataSource可以是任何System.Collections.IEnumerable对象,
 
如用于访问数据库的System.Data.DataView、System.Collections.ArrayList、System.Collections.Hashtable、数组或IListSource对象。
 
常用的数据源:
 
一个DataTable
 
一个DataView
 
一个DataSet
 
任何实现IListSource接口的组件
 
任何实现IList接口的组件
 
注意:
 
若要绑定到对象的强类型数组,该对象类型必须包含公共属性。
 
下面通过几个简单的实例来介绍DataSource的具体应用。
 
<1>绑定DataTable,一般都是从数据库取出数据,然后直接进行绑定,具体的数据库操作的逻辑不再提供。想必大家都已经非常熟悉。绑定DataView与这个类似。
 
程序代码
 
代码如下:
 
privatevoidBindData()
 
{
 
//通过业务逻辑,直接调用数据库中的数据
 
DataTablenTable=getTable();
 
Repeater1.DataSource=nTable;
 
Repeater1.DataBind();
 
}
 
HTML代码
 
C#数据绑定控件程序代码
 
代码如下:
 
<asp:RepeaterIDasp:RepeaterID="Repeater1"runat="server">
 
<HeaderTemplate>
 
<table>
 
<tr>
 
<thscopethscope="col">
 
姓名th>
 
<th>
 
年龄th>
 
<tr>
 
<HeaderTemplate>
 
<ItemTemplate>
 
<tr>
 
<td>
 
<%#Eval("Key")%>
 
<td>
 
<td>
 
<%#Eval("value")%>
 
<td>
 
<tr>
 
<ItemTemplate>
 
<FooterTemplate>
 
<table><FooterTemplate>
 
<asp:Repeater>
 
<2>绑定Array、ArrayList、List、一维数组之类,里面存储简单的数据。
 
ArrayList
 
C#数据绑定控件程序代码
 
代码如下:
 
privatevoidBindData()
 
{
 
ArrayListlist=newArrayList();
 
list.Add("Jim");
 
list.Add("Tom");
 
list.Add("Bluce");
 
list.Add("Mary");
 
Repeater1.DataSource=list;
 
Repeater1.DataBind();
 
}
 
HTML适当改变
 
程序代码
 
代码如下:
 
<asp:RepeaterIDasp:RepeaterID="Repeater1"runat="server">
 
<HeaderTemplate><table><tr><thscopethscope="col">姓名<th><tr><HeaderTemplate>
 
<ItemTemplate><tr><td><%#Container.DataItem%><td><tr><ItemTemplate>
 
<FooterTemplate><table><FooterTemplate>
 
<asp:Repeater>
 
<3>绑定Dictionary、HashTable
 
Dictionary
 
 

(编辑:聊城站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!