zoukankan      html  css  js  c++  java
  • 数据绑定控件DataSource属性

          数据绑定控件,都有DataSource属性,用于指定数据源。通常情况下,也是比较常用的就是数据源是数据表(DataTable),其实DataSource的范围很广,我们可以在深入研究的同时,改善我们的程序。

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

          常用的数据绑定控件有: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与这个类似。

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

            Repeater1.DataSource 
    = nTable;
            Repeater1.DataBind();
        }

     Html代码

    Repeater

    <2>绑定Array、ArrayList、List、一维数组之类,里面存储简单的数据。 

    ArrayList
        private void BindData()
        {
            ArrayList list 
    = new ArrayList();
            list.Add(
    "Jim");
            list.Add(
    "Tom");
            list.Add(
    "Bluce");
            list.Add(
    "Mary");

            Repeater1.DataSource 
    = list;
            Repeater1.DataBind();
        }

    Html适当改变

    Code

    <3>绑定Dictionary、HashTable 

    Dictionary
        private void BindData()
        {
            Dictionary
    <stringint> dic = new Dictionary<stringint>();
            dic.Add(
    "Jim"21);
            dic.Add(
    "Tom"26);
            dic.Add(
    "Bluce"33);
            dic.Add(
    "Mary"18);

            Repeater1.DataSource 
    = dic;
            Repeater1.DataBind();
        }

    Html代码

    Code

    <4>绑定对象集合,IList等。这个很是有用,在我们进行数据查询的时候,经常从数据库取出数据,为了方便操作,需要封装成对象,但是有的时候需要将这些对象以列表的形式显示出来,一种解决方案:对象转换为DataTable,另一种就是直接调用数据库。这两种方案,并不是很理想。而这里直接将对象集合直接绑定到数据显示控件,给我指明一条出路。其实,在PetShop4.0就是利用这一点,绑定ICollection或者IList。简单明了。

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

    User Code

    绑定对象集合: 

    IList
        private void BindData()
        {
            User user1 
    = new User("Jim"21);
            User user2 
    = new User("Tom",23);
            User user3 
    = new User("Bluce",33);
            User user4 
    = new User("Mary",18);

            IList
    <User> list = new List<User>();
            list.Add(user1);
            list.Add(user2);
            list.Add(user3);
            list.Add(user4);


            Repeater1.DataSource 
    = list;
            Repeater1.DataBind();
        }

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

    Code
  • 相关阅读:
    Key-Value Memory Network
    Deep Mask Memory Network with Semantic Dependency and Context Moment for Aspect Level Sentiment Clas
    Deep Memory Network在Aspect Based Sentiment方向上的应用
    Deep Memory Network 深度记忆网络
    Self Attention 自注意力机制
    Attention基本公式及其变种
    *端策略优化算法(PPO)
    Policy Gradient 算法
    一本通 农场派对
    A
  • 原文地址:https://www.cnblogs.com/yank/p/1363946.html
Copyright © 2011-2022 走看看