Dev GridView 绑定List<T>、BindingList <T>、BindingSource

简介: 今天听到同事处理数据结构的时候特意处理为了 BindingList<T>,据说可以直接绑定到Dev GridView上,于是测试了一下: 1、在Dev GridView中新增三列,三列的FieldName分别对应与FormItem类对应:ItemKey、Name、Enable 具体类代码如下:public class FormItem{ /// <summ

今天听到同事处理数据结构的时候特意处理为了 BindingList<T>,据说可以直接绑定到Dev GridView上,于是测试了一下:

1、在Dev GridView中新增三列,三列的FieldName分别对应与FormItem类对应:ItemKey、Name、Enable

具体类代码如下:

public class FormItem
{
    /// <summary>
    /// 标识 
    /// </summary>
    public string ItemKey
    {
        get;
        set;
    }
    /// <summary>
    /// 名称  
    /// </summary>
    public string Name
    {
        get;
        set;
    }
    /// <summary>
    /// 是否可用
    /// </summary>
    public bool Enable
    {
        get;
        set;
    }
}
3、在Form窗体上增加一个Buntton按钮事件,并添加Click事件,在 Click事件中填充List<T>、BindingList <T>、BindingSource,并进行绑定测试:

 BindingList<FormItem> itemsBindingList = new BindingList<FormItem>();
        List<FormItem> itemsList = new List<FormItem>();
        BindingSource bs = new BindingSource();
        private void simpleButton1_Click(object sender, EventArgs e)
        {
            for (int i = 0; i < 10; i++)
            {
                FormItem fi = new FormItem();
                fi.ItemKey = i.ToString();
                fi.Name = Guid.NewGuid().ToString();
                if (i % 2 == 0)
                {
                    fi.Enable = true;
                }
                else
                {
                    fi.Enable = false;
                }
                itemsBindingList.Add(fi);
                itemsList.Add(fi);
                bs.Add(fi);
            }          
            //this.gridControl1.DataSource = itemsBindingList;
            //this.gridControl1.DataSource = itemsList;
            this.gridControl1.DataSource = bs;

        }
4、通过测试发现List<T>、BindingList <T>、BindingSource均可以绑定到Dev GridView上 

5、用过Dev GridView的朋友应该知道,给Dev GridView绑定DataTable后,在GridView上的修改会同步到到DataTable上,那么问题来了Dev GridView 绑定List<T>、BindingList <T>、BindingSource会不会同步呢?

于是添加GridView的CellValueChanged事件,在该事件中监视变量itemsBindingList、itemsList、bs,可以发现修改也是同步的。

小注:
BindingSource第一次用,有不对的地方,还请指教

        demo下载:点击打开链接


 数据源可以是实现下列接口之一的任何类型:


相关文章
|
移动开发
winform:对dataGridView绑定的泛型List<T> 的简单CRUD
   创建对象类,为所有成员封装字段,然后重载该类; 根据已有的对象类(类型参数)创建一个长度可以变化的List数组,并绑定数据源; 设置dataGridView的column属性:对应四个对象类创建相应列并用Name属性进行绑定; button_onclick事件点击处理;      ...
1495 0
DataGridView中绑定List泛型的问题
1、数据绑定的问题:  当DataGridView的DataSource绑定的为DataTable时,当DataTable的内容发生改变时,DataGridView中的内容会自动跟随DataTable改变而不用重新绑定数据源;   而把List绑定到DataGridView则不然,当List的内容发生改变是,需要先设置DataGridView的DataSource属性为new List(),   然后再把作过改动的List重新赋于DataGridView的DataSource。
824 0
Dev GridView 绑定List&lt;T&gt;、BindingList &lt;T&gt;、BindingSource
作者:jiankunking 出处:http://blog.csdn.net/jiankunking         今天听到同事处理数据结构的时候特意处理为了 BindingList&lt;T&gt;,据说可以直接绑定到Dev GridView上,于是测试了一下: 1、在Dev GridView中新增三列,三列的FieldName分别对应与FormItem类对应:ItemKey、Name
2503 0
|
Java 数据格式 XML
&lt;xliff:g&gt;标签
转自:http://blog.csdn.net/huangyabin001/article/details/37651165 摘要: 这是Android4.3Mms源码中的strings.xml的一段代码: %1$smessages per conversation 在这里google的工程师们使用了标签,这个标签主要在动态插入内容时候使用,有点类似于占位符的作用。
1015 0
|
Java
&lt;s:action&gt;,&lt;s:param&gt;的用法
使用action标签,可以允许在jsp页面中直接调用Action,在调用Action时候,可以指定需要被调用的 Action的name和 namespace.如果指定了executeResult参数的属性值为true,该标签会把 Action的处理结果(视图资源)包含到本页面中. 使用action标签指定属性有:id: 可选属性,作为该Action的引用ID   name:必选属性,指定调用A
1261 0
|
Java
Java集合转换【List&lt;--&gt;数组、List&lt;--&gt;Set、数组&lt;--&gt;Set、Map--&gt;Set、Map--&gt;List】
[java] view plaincopy //List--&gt;数组      List&lt;String&gt; list = new ArrayList&lt;String&gt;();      list.add("tom");      list.add("Jerval");      list.add("Wei
1408 0
|
Linux 数据安全/隐私保护 Shell