У меня есть DataGridView, связанный с файлом xml. Я хотел бы сортировать по первому столбцу и рассматривать значения как целые числа (не строки).Пользовательский сортировка xml связанный DataGridView
XmlDataDocument xml = new XmlDataDocument();
xml.DataSet.ReadXml("file.xml");
dataGridView.DataSource = new BindingSource(xml.DataSet, "Item");
- Sort (IComparer) не работает
- Sort (DataGridViewColumn, ListSortDirection) обрабатывает все значения как строки
- SortCompare событие не сработавших
Что у меня есть сделать, чтобы сделать эту работу? Наследовать DataGridView и переопределить сортировку? Сортировка BindingSource? Сортировка DataSet?
Примечание для будущих читателей:
Принято ответ не работает для моего фрагмента кода. DataType необходимо изменить перед загрузкой данных. DataSet должен быть создан вручную:
DataTable table = new DataTable("Item");
table.Columns.Add(new DataColumn("id", typeof(int)));
table.Columns.Add(new DataColumn("name", typeof(string)));
DataSet set = new DataSet();
set.Tables.Add(table);
set.ReadXml("file.xml", XmlReadMode.IgnoreSchema);
dataGridView.DataSource = new BindingSource(set, "Item");