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

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

公司主营业务:成都网站建设、做网站、移动网站开发等业务。帮助企业客户真正实现互联网宣传,提高企业的竞争能力。创新互联是一支青春激扬、勤奋敬业、活力青春激扬、勤奋敬业、活力澎湃、和谐高效的团队。公司秉承以“开放、自由、严谨、自律”为核心的企业文化,感谢他们对我们的高要求,感谢他们从不同领域给我们带来的挑战,让我们激情的团队有机会用头脑与智慧不断的给客户带来惊喜。创新互联推出淮安免费做网站回馈大家。

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

程序代码

 
 
 
  1. privatevoidBindData()  
  2. {  
  3. //通过业务逻辑,直接调用数据库中的数据  
  4. DataTablenTable=getTable();  
  5.  
  6. Repeater1.DataSource=nTable;  
  7. Repeater1.DataBind();  

HTML代码

C#数据绑定控件程序代码

 
 
 
  1. <asp:RepeaterIDasp:RepeaterID="Repeater1"runat="server"> 
  2.  
  3.  
  4.  
  5. <thscopethscope="col"> 
  6. 姓名 th> 
  7.  
  8.  
  9. 年龄 th> 
  10. tr> 
  11. HeaderTemplate> 
  12.  
  13.  
  14. <%#Eval("Key")%> 
  15. td> 
  16.  
  17. <%#Eval("value")%> 
  18. td> 
  19. tr> 
  20. ItemTemplate> 
  21.  
  22. table> FooterTemplate> 
  23. asp:Repeater> 
  24. <2>绑定Array、ArrayList、List、一维数组之类,里面存储简单的数据。

    ArrayList

    C#数据绑定控件程序代码

     
     
     
    1. privatevoidBindData()  
    2. {  
    3. ArrayListlist=newArrayList();  
    4. list.Add("Jim");  
    5. list.Add("Tom");  
    6. list.Add("Bluce");  
    7. list.Add("Mary");  
    8.  
    9. Repeater1.DataSource=list;  
    10. Repeater1.DataBind();  

    HTML适当改变

    程序代码

     
     
     
    1. <asp:RepeaterIDasp:RepeaterID="Repeater1"runat="server"> 
    2. <thscopethscope="col">姓名 th> tr> HeaderTemplate> 
    3. <%#Container.DataItem%> td> tr> ItemTemplate> 
    4. table> FooterTemplate> 
    5. asp:Repeater> 
    6. <3>绑定Dictionary、HashTable

      Dictionary

      C#数据绑定控件程序代码

       
       
       
      1. privatevoidBindData()  
      2. {  
      3. Dictionary,int>dic=newDictionary,int>();  
      4. dic.Add("Jim",21);  
      5. dic.Add("Tom",26);  
      6. dic.Add("Bluce",33);  
      7. dic.Add("Mary",18);  
      8.  
      9. Repeater1.DataSource=dic;  
      10. Repeater1.DataBind();  

      HTML代码

      程序代码

       
       
       
      1. <asp:RepeaterIDasp:RepeaterID="Repeater1"runat="server"> 
      2. <thscopethscope="col">姓名 th>
        年龄 th> tr> HeaderTemplate> 
      3. <%#Eval("Key")%> td><%#Eval("value")%> td> tr> ItemTemplate> 
      4. table> FooterTemplate> 
      5. asp:Repeater> 
      6. <4>绑定对象集合,IList等。这个很是有用,在我们进行数据查询的时候,经常从数据库取出数据,为了方便操作,需要封装成对象,但是有的时候需要将这些对象以列表的形式显示出来,一种解决方案:对象转换为DataTable,另一种就是直接调用数据库。这两种方案,并不是很理想。而这里直接将对象集合直接绑定到数据显示控件,给我指明一条出路。其实,在PetShop4.0就是利用这一点,绑定ICollection或者IList。简单明了。

        一个简单的用户类,包含两个公共属性。

        程序代码

         
         
         
        1. usingSystem;  
        2. usingSystem.Data;  
        3.  
        4. ///  
        5. ///SummarydescriptionforUser  
        6. ///
        7.  
        8. publicclassUser  
        9. {  
        10. privatestring_Name;  
        11. publicstringName  
        12. {  
        13. get{return_Name;}  
        14. set{_Name=value;}  
        15. }  
        16. privateint_Age;  
        17. publicintAge  
        18. {  
        19. get{return_Age;}  
        20. set{_Age=value;}  
        21. }  
        22. publicUser()  
        23. {  
        24. //  
        25. //TODO:Addconstructorlogichere  
        26. //  
        27. }  
        28. publicUser(stringname,intage)  
        29. {  
        30. _Name=name;  
        31. _Age=age;  
        32. }  

        绑定对象集合:

        IList

        程序代码

         
         
         
        1. privatevoidBindData()  
        2. {  
        3. Useruser1=newUser("Jim",21);  
        4. Useruser2=newUser("Tom",23);  
        5. Useruser3=newUser("Bluce",33);  
        6. Useruser4=newUser("Mary",18);  
        7.  
        8. IListlist=newList();  
        9. list.Add(user1);  
        10. list.Add(user2);  
        11. list.Add(user3);  
        12. list.Add(user4);  
        13.  
        14. Repeater1.DataSource=list;  
        15. Repeater1.DataBind();  

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

        C#数据绑定控件程序代码

         
         
         
        1. <asp:RepeaterIDasp:RepeaterID="Repeater1"runat="server"> 
        2.  
        3.  
        4.  
        5. <thscopethscope="col"> 
        6. 姓名 th> 
        7.  
        8.  
        9. 年龄 th> 
        10. tr> 
        11. HeaderTemplate> 
        12.  
        13.  
        14. <%#Eval("Name")%> 
        15. td> 
        16.  
        17. <%#Eval("Age")%> 
        18. td> 
        19. tr> 
        20. ItemTemplate> 
        21.  
        22. table> FooterTemplate> 
        23. asp:Repeater> 
        24. 新闻标题:C#数据绑定控件中的DataSource属性
          当前地址:http://www.csdahua.cn/qtweb/news26/504326.html

          网站建设、网络推广公司-快上网,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

          广告

          声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 快上网