`
窗户纸
  • 浏览: 19507 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
社区版块
存档分类
最新评论

BindingList 看起来很美

 
阅读更多

最近有同事迷上了使用BindingList开发应用,看上去用BindingList绑定datagridview很是省事,只要如下即可:

BindingList<T> x = new BindingList<T>();

.... datagridivew1.datasource = x;

datagridiew1.columns["name'].DataPropertyName = "Name";

... T = datagridview1.selectedrows[0].boundItem as T;

列表控件的信息就可以和对象集合的信息“同步”,但经过检查发现,这个同步是单向的,列表控件数据变更或增加,可以通过事件通知到对象集合,而对象集合内的数据变更或增减列表控件无法变更,(后来试验了一下,有时需要对datagridview进行刷新才会更新,但对象增减应该可以同步)而且我在检查其代码时发现了如下有趣现象:

1. 如果列表控件使用了cellvalidating事件,在出现e.cancel=true时, 系统会经常报错,估计是后面的对象清单取消操作时的问题

2 . BindingList本身不具备排序功能,如果重写applysort方法,需要处理一堆问题.

所以简单的操作用bindinglist很方便,如果是复杂操作,可能就有问题。

分享到:
评论

相关推荐

    扩展BindingList<T>

    在.NET框架中,`BindingList&lt;T&gt;`是一个常用的类,它实现了`IBindingList`接口,为数据绑定提供了基本的支持。这个类通常用于在WinForm或WPF应用中创建动态的数据源,可以方便地与控件如DataGridView进行双向绑定。...

    XtraGrid.DataSource,BindingList

    本篇将深入探讨如何使用XtraGrid.DataSource与BindingList结合,以便高效地将对象列表绑定到控件上。 首先,`XtraGrid.DataSource`属性是DevExpress XtraGrid控件的核心属性之一,用于设置数据源。数据源可以是任何...

    非常非常快速地实现可排序的BindingList

    在.NET框架中,`BindingList&lt;T&gt;`是用于数据绑定的常用类,特别是在Windows Forms应用程序中。这个类提供了基本的数据操作和事件,使得它可以方便地与控件如DataGridView进行交互。然而,`BindingList&lt;T&gt;`的默认实现...

    Android代码-TimeLine

    TimeLine &gt; 提供了仿IOS的越界回弹效果和左右滑动功能,可自由设置最小滑动距离和是否开启滑动功能 示例:demo.apk Download ...截图 Feature ...SwipeDragLayout使用ViewDragHelper来进行滑动操作,代码少,易理解...

    数据绑定-BindingList,BindingSource和BusinessObjects:第2部分

    本篇文章将深入探讨`BindingList`、`BindingSource`和Business Objects在数据绑定中的作用,特别是如何实现搜索和排序功能。 `BindingList&lt;T&gt;`是.NET Framework提供的一种列表类,它扩展了`ArrayList`并添加了数据...

    c#使用bindlist绑定datagridview不能自动排序的解决类

    为了解决`BindingList&lt;T&gt;`不支持自动排序的问题,我们可以创建一个自定义的`SortableBindingList&lt;T&gt;`类,继承自`BindingList&lt;T&gt;`,并在其中重写相关的成员方法以支持排序功能。 ```csharp public class ...

    一个linq好例子,非常适合初学者

    LINQ(Language Integrated Query,语言集成查询)是.NET框架中的一项重要特性,它为C#和Visual Basic等编程语言提供了一种在代码中查询数据的新方式。本篇将深入探讨LINQ的基本概念、核心功能以及如何通过实际示例...

    dategrideview随时更新 c#

    在C#编程中,`DataGridView`控件是Windows Forms应用程序中常用的一种数据展示和编辑工具。它允许用户在界面上以表格形式查看和操作数据。本篇将详细讲解如何实现`DataGridView`控件的实时更新功能,即在界面中插入...

    WinForm之BindingSource基础操作实例教程

    通常我们在进行数据绑定的时候,常用的数据源有DataSet、DataTable、BindingList、还有强类型数据源。今天我们来通过实例了解一下BindingSource组建,分享给大家供大家参考借鉴之用。 BindingSource的两个用途: (1...

    SimpleDataBindingVB_BindingListExample_

    本示例“SimpleDataBindingVB_BindingListExample_”着重于使用VB(Visual Basic)语言实现数据绑定,特别是利用`BindingList`类。`BindingList`是一个强大的数据结构,它不仅提供了列表功能,还支持数据绑定。 **...

    Dev GridView绑定测试demo

    在C#中,我们可以很容易地创建一个`List&lt;T&gt;`并将其绑定到`GridView`,以便显示和编辑数据。例如,你可以创建一个`Person`类,然后创建一个`List&lt;Person&gt;`,将这个列表直接绑定到`GridView`,这样每个`Person`实例的...

    C#实体类和实体类集合的自动排序

    在.NET框架中,C#是一种常用的编程语言,用于开发各种应用程序,包括Windows桌面应用、Web应用和移动应用等。在这些应用中,数据通常需要以某种形式存储和展示,这时实体类(Entity Class)和实体类集合(Entity ...

    SunnyUI_sunnyui绑定数据_uiimagelistbox_softlyw1i_SunnyUI_winform控件_源

    首先,数据绑定是将应用程序中的数据源与UI元素连接起来的关键技术。在Winform中,SunnyUI提供了便捷的数据绑定支持,允许开发者将数据库、集合或其他数据源中的数据实时展示在界面上。这使得开发过程更加高效,减少...

    C#应用BindingSource实现数据同步的方法

    本文以实例形式讲述了C#应用BindingSource实现数据同步的方法,对C#数据库程序开发来说具有一定的参考借鉴价值。具体实现方法如下: 下面的代码示例演示如何使用 BindingSource 组件,将三个控件(两个文本框控件和...

    c# ObservableCollection排序

    相对于System.Linq的OrderBy及OrderByDescending方法,调用后产生IOrderedEnumberable对象,这个对象为排序后的返回值,但原对象未发生变化。试想,有这种需求,ObservableCollection调用排序方法后,此对象也跟着...

    DevExpress的GridView动态绑定数据集,多线程动态修改UI自动刷新

    在C#中,你可以使用`BindingSource`对象作为数据中介,将数据源(如DataSet或DataTable)与GridView关联起来。例如: ```csharp DataSet dataSet = new DataSet(); // 加载数据到dataSet... BindingSource binding...

    C#实现多条件组合查询

    在C#编程中,多条件组合查询是一种常见的需求,特别是在数据处理、数据分析或者数据库操作的场景下。这种查询允许开发者根据多个不同的标准筛选数据,从而获取满足特定条件的结果集。以下将详细介绍如何在C#中实现多...

    C#中DataBindings用法实例分析

    首先,我们来看一个简单的例子,如何使用DataBindings将TextBox控件的Text属性与TrackBar控件的Value属性绑定: ```csharp textBox1.DataBindings.Add("Text", trackBar1, "Value", false, DataSourceUpdateMode....

    数据绑定-绑定列表,BindingSource和BusinessObjects-第1部分

    绑定列表(BindingList)是.NET Framework提供的一种特殊类型的列表,它支持数据绑定。BindingList类允许你创建一个可以被数据绑定的对象集合,T代表你想要存储的对象类型。它提供了诸如添加、删除和更改项等基本...

Global site tag (gtag.js) - Google Analytics