У меня есть DataGridView, и я устанавливаю DataSource для datagridview, используя DataTables.
DataTable dt = new DataTable();
dt.Columns.Add("Image",typeof(Bitmap));
dt.Columns.Add("Col2", typeof(string));
dt.Columns.Add("Col3", typeof(string));
dt.Columns.Add("Col4", typeof(string));
dt.Columns.Add("Col5", typeof(string));
int currentrow = 0;
foreach (Dev d in Devs)
{
dt.Rows.Add(dt.NewRow());
Bitmap bmp = Test(d);
dt.Rows[currentrow][0] = bmp;
dt.Rows[currentrow][1] = d .ID;
dt.Rows[currentrow][2] = d .Name;
dt.Rows[currentrow][3] = d .Country;
dt.Rows[currentrow][4] = d .State;
currentrow++;
}
datagridview.DataSource = dt;
Этот код сортирует, когда мой тип столбца строка, но я хочу сортировать на основе изображения также. Я хочу нажать на столбец изображения, и он должен сортировать на основе изображений. Существует только три типа изображений, поэтому я хочу, чтобы одно и то же изображение было вместе для более удобного отображения.
Я искал, но не смог найти никакого решения.
Любая вещь, которая может направить меня в правильном направлении?
Ошибка при попытке что-то вроде этого
datagridview.Sort(dgvFusePTW.Columns[0], ListSortDirection.Ascending);
Ошибка: элемент управления DataGridView с привязкой к данным может быть отсортирован только по столбцам с привязкой к данным.
ОБНОВЛЕНИЕ:
Я добавил еще одну колонку. Он скрыт, при использовании щелчка на столбце изображения (1-й) он запускает события ColumnHeaderMouseClick. Добавлена логика для сортировки скрытых столбцов.
Это просто работа, на которую я нажал.
Спасибо тебе,
L.E.