DataView Sort - как делать, когда имена столбцов неизвестны - PullRequest
1 голос
/ 29 августа 2011

Мне нужен совет о том, как решить проблему с сортировкой DataView в C #.

Мне нужно добавить свойство сортировки в мой DataView, потому что оно понадобится мне позже, когда я вызываю Find для DataView (для работы которого необходимо указать свойство сортировки). Мне нужно найти, чтобы правильно сопоставить DataRow с DataGridViewRow. В настоящее время я просто использую индекс строки для сопоставления с DataGridViewRow, но это не будет работать во всех случаях, если пользователь физически перемещает строки или изменяет порядок сортировки в DataGridView (UI), потому что тогда идентификаторы больше не совпадают карта.

Когда я создаю DataView, я загружаю DataTable, чтобы передать его для создания. Этот DataTable может иметь любую форму, я не знаю, что DataTable содержит для столбцов и строк. Поэтому я не могу создать сортировку, если не знаю имен столбцов для сортировки.

Я думал о том, чтобы просто взять имя первого столбца (столбец [0]) - независимо от того, что это такое, и использовать его для сортировки. Но это кажется отрывочным, нет?

У меня вопрос: есть ли лучший способ определить, по какому принципу сортировать мой DataView, когда имена столбцов неизвестны?

Спасибо!

1 Ответ

1 голос
/ 29 августа 2011

Я не пробовал, но так как он сортирует по названию столбца, который вы передаете, вы не можете отсортировать по индексу с чем-то вроде:

dataview.Sort = dataview.Table.Columns[index].ColumnName + " DESC";

...