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下载:点击打开链接


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


相关文章
|
6月前
|
前端开发 开发者 容器
SAP Fiori Elements List Report 应用里 Header 字段的绑定路径
SAP Fiori Elements List Report 应用里 Header 字段的绑定路径
42 0
|
7月前
|
索引
SAP Fiori Elements List Report 应用里 Header 字段的绑定路径
SAP Fiori Elements List Report 应用里 Header 字段的绑定路径
40 0
|
存储
Angular list列表绑定的一个例子
Angular list列表绑定的一个例子
119 0
Angular list列表绑定的一个例子
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
2450 0
|
移动开发
winform:对dataGridView绑定的泛型List<T> 的简单CRUD
   创建对象类,为所有成员封装字段,然后重载该类; 根据已有的对象类(类型参数)创建一个长度可以变化的List数组,并绑定数据源; 设置dataGridView的column属性:对应四个对象类创建相应列并用Name属性进行绑定; button_onclick事件点击处理;      ...
1390 0
DataGridView中绑定List泛型的问题
1、数据绑定的问题:  当DataGridView的DataSource绑定的为DataTable时,当DataTable的内容发生改变时,DataGridView中的内容会自动跟随DataTable改变而不用重新绑定数据源;   而把List绑定到DataGridView则不然,当List的内容发生改变是,需要先设置DataGridView的DataSource属性为new List(),   然后再把作过改动的List重新赋于DataGridView的DataSource。
784 0
|
4天前
|
存储 安全 算法
Java一分钟之-Java集合框架入门:List接口与ArrayList
【5月更文挑战第10天】本文介绍了Java集合框架中的`List`接口和`ArrayList`实现类。`List`是有序集合,支持元素重复并能按索引访问。核心方法包括添加、删除、获取和设置元素。`ArrayList`基于动态数组,提供高效随机访问和自动扩容,但非线程安全。文章讨论了三个常见问题:索引越界、遍历时修改集合和并发修改,并给出避免策略。通过示例代码展示了基本操作和安全遍历删除。理解并正确使用`List`和`ArrayList`能提升程序效率和稳定性。
10 0
|
4天前
|
存储 安全 Java
【JAVA基础篇教学】第八篇:Java中List详解说明
【JAVA基础篇教学】第八篇:Java中List详解说明