ObjectListView Update (1.0.0.8): Complex Filter Expressions
Note: You can download the complete implementation here. A few people have asked for support of more sophisticated expressions in the Filter property. Previously, ObjectListView allowed only a single relational expression of the form propertyNameOp value, such as Name = 'Smith'. With this update, you can assign arbitrarily complex expressions to Filter. For example: Name = 'Smith' AND (Orders > 50 OR City = 'Portland'). Deta...
A Few Things About Array Interfaces
One of the fun things about working with a big framework like .NET is that even after a few years of immersion in the technology, there are still fresh lessons to learn. So today, in the "I did NOT know that" department, I present a few interesting things about the humble array. The code snippets shown are part of a complete sample program that you can download here. Arrays are enumerable I did know this. Array implements IEnumerable, so ...
Generics in ObjectListView
Note: You can download the complete implementation here. My original implementation of ObjectListView wraps a list of arbitrary objects. It exposes these list items as type "object", which means that you have to cast the returned items to your list item type. For example: List list = new List(); ObjectListView view = new ObjectListView(list); list.Add(new SimpleClass(1, "aaa", DateTime.Now)); list.Add(new SimpleClass(5, "bbb", ...
ObjectListView Update (1.0.0.6)
Note: You can download the complete implementation here. The DataGridView New Row When you set the DataGridView property AllowUserToAddRows to true (and the IBindingList data source AllowNew property is also true), an empty row will be displayed at the bottom of the grid. In an earlier posting, I described how the IBindingList method AddNew() supports this "new row". When I implemented AddNew in ObjectListView, I noted this comment in the ...
Code-Based Filtering in ObjectListView
Note: You can download the complete implementation here. In previous posts, I presented ObjectListView, my implementation of a DataView-like class for arbitrary business objects. It allows you to bind a DataGridView (and other controls) to an IList of your choice. As an IBindingListView implementation, ObjectListView supports the Filter property, which allows you to filter the underlying list to present only the items that match the filter ...