`
shirlly
  • 浏览: 1625716 次
  • 性别: Icon_minigender_2
  • 来自: 福州
社区版块
存档分类
最新评论

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

    博客分类:
  • .NET
阅读更多
有的时候,你在编程进入一定阶段,进一步提升很困难的境况之下,不妨回过头来看看基础的东西,或许你会有新的受益,或许能够真正的体会到孔夫子所谓的“温故而知新”的真正内涵。

常用的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与这个类似。

程序代码

private void BindData()  
{  //通过业务逻辑,直接调用数据库中的数据  
DataTable nTable=getTable();   
Repeater1.DataSource=nTable;  
Repeater1.DataBind();  
} 

HTML代码

C#数据绑定控件程序代码
<asp:repeater id="Repeater1" runat="server"> 
<HeaderTemplate> 
<table> <tr> <th> 姓名</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、一维数组之类,里面存储简单的数据。ArrayListC#数据绑定控件程序代码
private void BindData()  
{  
ArrayListlist=newArrayList();  
list.Add("Jim");  
list.Add("Tom"); 
list.Add("Bluce");  
list.Add("Mary");  
Repeater1.DataSource=list;  
Repeater1.DataBind(); 
} 

HTML适当改变

程序代码
<asp:Repeater ID="Repeater1"runat="server"> <HeaderTemplate><table><tr><th>姓名</th></tr></HeaderTemplate> <ItemTemplate><tr><td><%#Container.DataItem%></td></tr></ItemTemplate> 
<FooterTemplate></table></FooterTemplate> </asp:Repeater> 

<3>绑定Dictionary、HashTableDictionaryC#数据绑定控件程序代码
private void BindData()  
{  
Dictionary<string,int> dic =newDictionary<string,int>(); 
dic.Add("Jim",21); 
dic.Add("Tom",26); 
dic.Add("Bluce",33);  
dic.Add("Mary",18);   
Repeater1.DataSource=dic;  
Repeater1.DataBind();  
} 

HTML代码程序代码
<asp:Repeater RepeaterID="Repeater1"runat="server"> <HeaderTemplate><table><tr><th>姓名th><th>年龄th></tr></HeaderTemplate> <ItemTemplate><tr><td><%#Eval("Key")%>td><td><%#Eval("value")%></td></tr></ItemTemplate> <FooterTemplate></table></FooterTemplate> </asp:Repeater> 

<4>绑定对象集合,IList等。这个很是有用,在我们进行数据查询的时候,经常从数据库取出数据,为了方便操作,需要封装成对象,但是有的时候需要将这些对象以列表的形式显示出来,一种解决方案:对象转换为DataTable,另一种就是直接调用数据库。这两种方案,并不是很理想。而这里直接将对象集合直接绑定到数据显示控件,给我指明一条出路。其实,在PetShop4.0就是利用这一点,绑定ICollection或者IList。简单明了。一个简单的用户类,包含两个公共属性。程序代码
using System; 
using System.Data;   
///  ///SummarydescriptionforUser  ///  
public class User  
{  
private string_Name;  
public string Name  
{  
get{return_Name;}  
set{_Name=value;}  
} 
private int _Age;  
public int Age  
{ 
get{return_Age;} 
 set{_Age=value;}  
}  
public User()  
{  //  //TODO:Addconstructorlogichere  //  }  
public User(stringname,intage)  
{  _Name=name;  _Age=age;  }  
} 

绑定对象集合:

IList

程序代码
private void BindData()  
{  
Useruser1=newUser("Jim",21);  
Useruser2=newUser("Tom",23); 
Useruser3=newUser("Bluce",33); 
Useruser4=newUser("Mary",18);  
IList<User>list=newList<User>();  
list.Add(user1);  
list.Add(user2);  
list.Add(user3);  
list.Add(user4);   
Repeater1.DataSource=list;  
Repeater1.DataBind();  
} 

对应的Repeater绑定对象的公共属性:

C#数据绑定控件程序代码
<asp:Repeater ID="Repeater1"runat="server"> 
<HeaderTemplate> <table> <tr> <thscopethscope="col"> 姓名</th> <th> 年龄</th> </tr> </HeaderTemplate> 
<ItemTemplate> <tr> <td> <%#Eval("Name")%> </td> <td> <%#Eval("Age")%> </td> </tr> </ItemTemplate> <FooterTemplate> </table></FooterTemplate> </asp:Repeater> 


转自:http://developer.51cto.com/art/200908/143818.htm
分享到:
评论

相关推荐

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

    常用的C#数据绑定控件有:Repeater、DataList、GridView、DetailsView等,在这里我拿Repeater来简单说明问题。使用该属性指定用来填充Repeater控件的数据源。DataSource可以是任何System.Collections.IEnumerable对象...

    C# ComboBox控件“设置 DataSource 属性后无法修改项集合”的完美解决方法

    在使用ComboBox控件时,遇到了重新绑定赋值出问题的情况。 错误代码如下: if (CustomerBLL.select().Rows.Count &gt; 0) { cbTcid.Items.Clear(); cbTcid.DataSource = CustomerBLL.select(); cbTcid.ValueMember = ...

    C#自定义分页控件

    二、AspNetPager支持各种数据绑定控件GridView、DataGrid、DataList、Repeater以及自定义的数据绑定控件的分页功能十分强大。 三、AspNetPager分页控件本身并不显示任何数据,而只显示分页导航元素,数据在页面上的...

    C# dataGridView1 控件的使用SQL Server数据绑定

    // 设置数据源 // 绑定数据源 dataGridView1为空间的name dataGridView1.DataSource = daset.Tables["表名"];

    WinForm中comboBox控件数据绑定实现方法

    本文实例讲述了WinForm中comboBox控件数据绑定实现方法。分享给大家供大家参考,具体如下: 下面介绍三种对comboBox绑定的方式,分别是泛型中IList和Dictionary,还有数据集DataTable  一、IList 现在我们直接创建...

    ASP.NET 控件的使用

    8.1.4 使用其他数据绑定控件 235 8.2 使用DataSource控件 237 8.3 使用编程式数据绑定 240 8.4 模板和数据绑定表达式 241 8.4.1 使用模板 241 8.4.2 使用数据绑定表达式 244 8.4.3 使用两种数据绑定表达式 247 8.5 ...

    巧用DataGridView表格绑定编辑显示自定义类的二维数组数据

    主要通过DataGridView表格来绑定自动输入自定义类的二维数组数据,数组输入时 表格数据源 DataGridView1.DataSource = [class].getTable(); 所有数据存于dTable中 不能调用变量获取数据,因为这是针对二维数组扩展的 ...

    多列数据绑定组合框控件MultiColumnComboBoxEx源码与示例

    V1.2 请到http://download.csdn.net/source/1022630下载。具体实现请参考拙文:http://blog.csdn.net/hulihui/archive/2009/02/01/3856824.aspx。

    C#全能速查宝典

    《C#全能速查宝典》共分为8章,分别介绍了C#语言基础、Windows窗体及常用控件、Windows高级控件、控件公共属性、方法及事件、数据库开发、文件、数据流与注册表、GDI+绘图技术和C#高级编程,共包含562个C#编程中常用...

    ASP.NET.4揭秘

    8.1.4 使用其他数据绑定控件264 8.2 使用datasource控件266 8.3 使用编程式数据绑定270 8.4 模板和数据绑定表达式272 8.4.1 使用模板272 8.4.2 使用数据绑定表达式275 8.4.3 使用双向数据绑定表达式278 8.5 sql ...

    AspNetPager7.2分页控件及Demo源码

    如为GridView、DataList以及Repeater等数据绑定控件实现分页、呈现自定义的分页数据以及制作图片浏览程序等,因为AspNetPager控件和数据是独立的,因此要分页的数据可以来自任何数据源,如SQL Server、Oracle、...

    多列组合框控件MultiColumnComboBoxEx(1.2)源码与示例

    MultiColumnComboBoxEx(1.2)主要功能:1)下拉框和文本框中显示多列;2)指定显示的列及其顺序;3)设定框高与项高;4)提供Items.IndexOf代替函数ItemIndexOf;5)支持RightToLeft(RTL)。具体实现请参考:...

    c#旅游交费系统

    c# 旅游交费系统 public class MangerClass { DBClass dbObj = new DBClass(); public MangerClass() { // // TODO: 在此处添加构造函数逻辑 // } //**************************************************...

    TableDataSource-将DataTable绑定到Rich Data控件

    将DataTable绑定到丰富的数据控件

    C#中DataBindings用法实例分析

    在C#操作数据库过程中,针对一般的文本控件,比如TextBox,Label等,我们赋值直接使用类似TextBox.Text=****的方式来进行,这种方式从某种意义上来说的确是最简便的方式,但是对于复杂一些的空间,比如说...

    Asp.Net分页控件【AspNetPager】拖入即用!

    //绑定数据-2_只修改Sql语句即可 public void BindData() { SqlConnection conn = new SqlConnection(connstring); string sql = "select * from tuiguang_2";//Sql查询语句(必修改) SqlDataAdapter da = ...

    ExtAspNet v2.2.1 (2009-4-1) 值得一看

    -修正绑定到Tree的XMLDocument中Icon属性映射错误(feedback:nopnop9)。 -修正HtmlEditor不能编辑的BUG(feedback:TheBox)。 -修正IE下有时会出现空白页面的情况(feedback:olivia919)。 +2009-12-06 v2.1.8 -...

    深入.Net平台和C#编程

    DataGridView控件 绑定列表集合List 设置DataSouce属性为BindingList对象 绑定字典集合Dictionary,V&gt; 借助BindingSource对象设置DataSource

    [精仿]360手机助手-14.2.6更新(CSkin Demo)

    4.修复SkinComboBox无法DataSource绑定项的BUG。 5.增加音乐播放器,萝莉人物窗体,等DEMO。 6.修复部分细节bug。 提示:窗体继承SkinMain,再设置下SkinBack,有你想不到的惊喜哦,此窗体是用于绘制异形窗体专用,你...

Global site tag (gtag.js) - Google Analytics