最近有同事迷上了使用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很方便,如果是复杂操作,可能就有问题。
分享到:
相关推荐
在.NET框架中,`BindingList<T>`是一个常用的类,它实现了`IBindingList`接口,为数据绑定提供了基本的支持。这个类通常用于在WinForm或WPF应用中创建动态的数据源,可以方便地与控件如DataGridView进行双向绑定。...
本篇将深入探讨如何使用XtraGrid.DataSource与BindingList结合,以便高效地将对象列表绑定到控件上。 首先,`XtraGrid.DataSource`属性是DevExpress XtraGrid控件的核心属性之一,用于设置数据源。数据源可以是任何...
在.NET框架中,`BindingList<T>`是用于数据绑定的常用类,特别是在Windows Forms应用程序中。这个类提供了基本的数据操作和事件,使得它可以方便地与控件如DataGridView进行交互。然而,`BindingList<T>`的默认实现...
TimeLine > 提供了仿IOS的越界回弹效果和左右滑动功能,可自由设置最小滑动距离和是否开启滑动功能 示例:demo.apk Download ...截图 Feature ...SwipeDragLayout使用ViewDragHelper来进行滑动操作,代码少,易理解...
本篇文章将深入探讨`BindingList`、`BindingSource`和Business Objects在数据绑定中的作用,特别是如何实现搜索和排序功能。 `BindingList<T>`是.NET Framework提供的一种列表类,它扩展了`ArrayList`并添加了数据...
为了解决`BindingList<T>`不支持自动排序的问题,我们可以创建一个自定义的`SortableBindingList<T>`类,继承自`BindingList<T>`,并在其中重写相关的成员方法以支持排序功能。 ```csharp public class ...
LINQ(Language Integrated Query,语言集成查询)是.NET框架中的一项重要特性,它为C#和Visual Basic等编程语言提供了一种在代码中查询数据的新方式。本篇将深入探讨LINQ的基本概念、核心功能以及如何通过实际示例...
在C#编程中,`DataGridView`控件是Windows Forms应用程序中常用的一种数据展示和编辑工具。它允许用户在界面上以表格形式查看和操作数据。本篇将详细讲解如何实现`DataGridView`控件的实时更新功能,即在界面中插入...
通常我们在进行数据绑定的时候,常用的数据源有DataSet、DataTable、BindingList、还有强类型数据源。今天我们来通过实例了解一下BindingSource组建,分享给大家供大家参考借鉴之用。 BindingSource的两个用途: (1...
本示例“SimpleDataBindingVB_BindingListExample_”着重于使用VB(Visual Basic)语言实现数据绑定,特别是利用`BindingList`类。`BindingList`是一个强大的数据结构,它不仅提供了列表功能,还支持数据绑定。 **...
在C#中,我们可以很容易地创建一个`List<T>`并将其绑定到`GridView`,以便显示和编辑数据。例如,你可以创建一个`Person`类,然后创建一个`List<Person>`,将这个列表直接绑定到`GridView`,这样每个`Person`实例的...
在.NET框架中,C#是一种常用的编程语言,用于开发各种应用程序,包括Windows桌面应用、Web应用和移动应用等。在这些应用中,数据通常需要以某种形式存储和展示,这时实体类(Entity Class)和实体类集合(Entity ...
首先,数据绑定是将应用程序中的数据源与UI元素连接起来的关键技术。在Winform中,SunnyUI提供了便捷的数据绑定支持,允许开发者将数据库、集合或其他数据源中的数据实时展示在界面上。这使得开发过程更加高效,减少...
本文以实例形式讲述了C#应用BindingSource实现数据同步的方法,对C#数据库程序开发来说具有一定的参考借鉴价值。具体实现方法如下: 下面的代码示例演示如何使用 BindingSource 组件,将三个控件(两个文本框控件和...
相对于System.Linq的OrderBy及OrderByDescending方法,调用后产生IOrderedEnumberable对象,这个对象为排序后的返回值,但原对象未发生变化。试想,有这种需求,ObservableCollection调用排序方法后,此对象也跟着...
在C#中,你可以使用`BindingSource`对象作为数据中介,将数据源(如DataSet或DataTable)与GridView关联起来。例如: ```csharp DataSet dataSet = new DataSet(); // 加载数据到dataSet... BindingSource binding...
在C#编程中,多条件组合查询是一种常见的需求,特别是在数据处理、数据分析或者数据库操作的场景下。这种查询允许开发者根据多个不同的标准筛选数据,从而获取满足特定条件的结果集。以下将详细介绍如何在C#中实现多...
首先,我们来看一个简单的例子,如何使用DataBindings将TextBox控件的Text属性与TrackBar控件的Value属性绑定: ```csharp textBox1.DataBindings.Add("Text", trackBar1, "Value", false, DataSourceUpdateMode....
绑定列表(BindingList)是.NET Framework提供的一种特殊类型的列表,它支持数据绑定。BindingList类允许你创建一个可以被数据绑定的对象集合,T代表你想要存储的对象类型。它提供了诸如添加、删除和更改项等基本...