`
shirlly
  • 浏览: 1652308 次
  • 性别: 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#使用数据绑定控件录入数据

    本主题将深入探讨如何在C#中利用数据绑定控件进行数据录入。 1. 数据源:在C#中,数据源可以是各种类型,包括数组、集合、数据库记录、XML文档或Web服务响应。数据绑定的过程就是将这些数据源与控件关联,以便在UI...

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

    本文主要探讨了数据绑定控件中的DataSource属性,这是一个关键特性,用于指定填充数据绑定控件如Repeater的数据源。DataSource属性接受任何实现了System.Collections.IEnumerable接口的对象,这包括但不限于System....

    C#利用数据绑定控件修改数据

    在C#编程中,数据绑定是一项关键...总结,C#的数据绑定控件提供了一种高效的方法来修改和管理数据,简化了UI与数据源之间的交互。熟练掌握这一特性,能极大地提升你的开发效率,尤其是在处理用户输入和数据持久化时。

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

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

    C#自定义控件和数据绑定

    在Web应用程序中,ASP.NET提供了多种数据绑定控件,如GridView、ListView等,它们内置了数据绑定功能,简化了开发过程。而对于自定义控件,虽然没有这样的内置支持,但通过上述步骤和适当的编程,同样可以实现高效的...

    c#数据绑定dataBinding

    数据绑定是将UI控件(如文本框、列表框、组合框等)与数据源(如数据库、XML文件、集合等)之间建立的一种动态连接,使得控件能自动显示数据源中的数据,并且当数据源中的数据发生变化时,控件能立即反映这些变化。...

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

    DataSource属性是.NET Framework中许多控件都具备的一个属性,用于将控件与数据源绑定。在ComboBox中,设置DataSource属性后,ComboBox会根据数据源的类型和结构自动填充Items集合。例如,如果你的数据源是一个List...

    C#数据绑定代码

    在C#中,数据绑定通常通过`BindingSource`、`DataSource`和`DataMember`属性来实现。 简单绑定通常涉及到一个控件与数据源的一个字段或属性的直接对应。例如,你可以将一个文本框的`Text`属性绑定到XML文档中的一个...

    C# List绑定treeView

    在本篇文章中,我们将深入探讨如何使用C#中的List集合动态地绑定到TreeView控件上。这种方法在构建具有层级结构的应用程序时非常有用,尤其是在处理组织结构、文件系统或者任何类型的树状数据时。 ### 一、理解...

    一个基于C#+ASP.NET的通用数据翻页控件源码(支持各种数据源绑定模式)

    为了实现数据源绑定,控件可能提供了`DataSource`和`DataMember`属性,以及`Bind`方法,允许开发者方便地将控件与任何实现了`IList`或`IEnumerable`接口的数据集绑定。同时,控件可能还包含了`PageSize`属性来设定每...

    form2 数据绑定到 form1 中的控件 (c#)

    在C#中,我们可以使用各种方法来实现数据绑定,如DataSource属性、BindingSource组件和DataBinding类等。 1. **DataSource属性**:这是控件用来指定数据源的属性。例如,一个ListBox或DataGridView可以通过设置...

    解决WinForm设置 DataSource 属性后无法修改项集合

    之所以会出现上述错误,主要是因为当控件绑定了 `DataSource` 属性后,其内部的 `Items` 集合会被设置为只读状态,目的是为了确保数据的一致性和完整性。这是因为绑定的数据源(例如 DataTable)通常是外部数据的...

    ASPNET C#数据绑定技术.doc

    3. **数据绑定控件**:这些控件如`TextBox`、`ComboBox`、`ListBox`等可以直接与数据源绑定,自动显示或更新数据。简单数据绑定适用于单值控件,如`TextBox`,而复杂数据绑定则适用于显示多条记录的控件,如`...

    C# datagridview 绑定数据后绑定标题

    在C#编程中,`DataGridView`控件是一个非常重要的组件,用于显示表格形式的数据。它在Windows Forms应用程序中被广泛使用,提供了丰富的功能,如数据排序、筛选、编辑和导航等。当我们谈论“C# datagridview 绑定...

    Visual+C#数据绑定技术

    数据绑定是一种机制,用于将数据源中的数据与用户界面(UI)中的控件相连接,使得UI控件能够自动反映数据源中的数据变化。这种技术简化了应用程序中数据展示和交互的过程,提高了开发效率。 **2. 数据绑定分类** ...

    c# devexpress chartControl数据绑定例程

    在C#编程中,DevExpress是一家知名的开发工具提供商,其提供的ChartControl是一款强大的图表控件,广泛应用于数据分析和可视化。本文将深入探讨如何在C#环境中使用DevExpress的ChartControl进行数据绑定,以创建交互...

    在C#中使用控件DataGridView实现数据库增删改查

    在本示例中,我们将 DataSet 对象中的数据绑定到 DataGridView 控件的 DataSource 属性中,从而显示数据。 五、实现增删改查操作 实现增删改查操作需要使用 SqlCommand 对象和 SqlParameter 对象。SqlCommand 对象...

    数据源控件和数据源绑定

    它可以连接到各种数据源,并通过设置BindingSource.DataSource属性为数据源(如DataTable或List对象),并将BindingSource.DataMember属性设置为表名或列表字段,就可以将数据绑定到特定的UI控件。 在实际应用中,...

Global site tag (gtag.js) - Google Analytics