•   欢迎来到21NN网.
  •   请记住本站网址www.21nn.cn

C#数据绑定控件中的DataSource属性浅谈【C#.Net教程】,C#,数据绑定,DataSource

摘要: 有的时刻,你在编程进入肯定阶段,进一步提拔很难题的景况之下,无妨回过头来看看基本的东西,也许你会有新的受益,也许可以真正的体会到孔夫子所谓的“温故而知新”的真正内在。常常运用的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
C#数据绑定控件程序代码

privatevoidBindData()    
{    
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: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>

<4>绑定对象鸠合,IList等。这个非常有效,在我们举行数据查询的时刻,常常从数据库掏出数据,为了轻易操纵,须要封装成对象,然则有的时刻须要将这些对象以列表的情势显现出来,一种解决计划:对象转换为DataTable,另一种就是直接挪用数据库。这两种计划,并非很抱负。而这里直接将对象鸠合直接绑定到数据显现控件,给我指明一条前途。实在,在PetShop4.0就是应用这一点,绑定ICollection或许IList。简朴明了。
一个简朴的用户类,包括两个大众属性。
程序代码

usingSystem;  
usingSystem.Data;  

///

///SummarydescriptionforUser  
///

publicclassUser  
{  
privatestring_Name;  
publicstringName  
{  
get{return_Name;}  
set{_Name=value;}  
}  
privateint_Age;  
publicintAge  
{  
get{return_Age;}  
set{_Age=value;}  
}  
publicUser()  
{  
//  
//TODO:Addconstructorlogichere  
//  
}  
publicUser(stringname,intage)  
{  
_Name=name;  
_Age=age;  
}  
}

绑定对象鸠合:
IList
程序代码

privatevoidBindData()    
{    
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:RepeaterIDasp:RepeaterID="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>

以上就是C#数据绑定控件中的DataSource属性浅谈的内容,更多相关内容请关注ki4网(www.ki4.cn)!

分享到:

发表评论

评论列表

还没有评论,快来说点什么吧~

公众号二维码

微信公众号