Click here to Skip to main content
15,886,422 members

Custom class bound to a DataGridView: how to sort?

Gregory Gadow asked:

Open original thread
I searched CP, and could not find anything that was useful. Here is my issue:

I have a custom class, NetworkGroup, representing data on security groups from Active Directory. Nothing fancy, just the display name, description, path and a value stored in extensionattribute10. A second class, NetworkGroupList, inherits from List(Of NetworkGroup).

I am using an instance of NetworkGroupList as the data source for a read-only DataGridView and it works fine, with one annoyance: clicking on the column headers does not sort the data. The SortMode property on the columns are set to Automatic by default; I have gone so far as to set them programmatically. Makes no difference: my class lacks some functionality that allows the grid to auto-sort by column. Similar grids bound to DataTable objects sort just fine, and I have considered manually copying the list into a table and using that, which seems overkill. I have tinkered with the BindableList(Of T) class, with no luck: documentation is very spotty, and for the work involved, it seems that building a data table would be much easier.

Any suggestions on how to proceed?
Tags: C#, Visual Basic, Windows Forms

Plain Text
ASM
ASP
ASP.NET
BASIC
BAT
C#
C++
COBOL
CoffeeScript
CSS
Dart
dbase
F#
FORTRAN
HTML
Java
Javascript
Kotlin
Lua
MIDL
MSIL
ObjectiveC
Pascal
PERL
PHP
PowerShell
Python
Razor
Ruby
Scala
Shell
SLN
SQL
Swift
T4
Terminal
TypeScript
VB
VBScript
XML
YAML

Preview



When answering a question please:
  1. Read the question carefully.
  2. Understand that English isn't everyone's first language so be lenient of bad spelling and grammar.
  3. If a question is poorly phrased then either ask for clarification, ignore it, or edit the question and fix the problem. Insults are not welcome.
  4. Don't tell someone to read the manual. Chances are they have and don't get it. Provide an answer or move on to the next question.
Let's work to help developers, not make them feel stupid.
Please note that all posts will be submitted under the http://www.codeproject.com/info/cpol10.aspx.



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900