Если вы добавите внутренний текст в атрибут данных, следующий будет хакерский подход, который будет работать в определенных сценариях:
Просмотрите ячейки столбца и установите их Выбранное свойство равным true.
Звучит ужасно, но я считаю, что это единственный способ выбрать целую колонку и продолжить автоматическую сортировку.
Например:
grid.ClearSelection();
for(int r = 0; r < grid.RowCount; r++)
grid[columnIndex, r].Selected = true;
Я получил эту ошибку при запуске с WPF использования интерфейса перетаскивания и ни одного из ручного кодирования. Просмотр свойств datagrid дал бы способ выбрать объекты как это:
, Но пытающийся измениться на тип к Выбору Выбора или Столбца Заголовка столбца привел бы к ошибке, которую Вы упомянули.
Поэтому то, как это было решено, было путем щелчка правой кнопкой по сетке, и перейдите в Столбцы Редактирования . Здесь все столбцы и их SortingMode доступны изменению. Измените их всех на NotSortable.
Извините, что это заняло так много времени - я хотел протестировать, прежде чем отвечать, поэтому я записал это в Visual Studio, чтобы протестировать в первую очередь.
Мне пришлось сделать это в своей, чтобы заставить ее работать:
foreach (DataGridViewColumn c in dataGridView1.Columns)
{
c.SortMode = DataGridViewColumnSortMode.NotSortable;
c.Selected = false;
}
dataGridView1.SelectionMode = DataGridViewSelectionMode.FullColumnSelect;
dataGridView1.Columns[0].Selected = true;