Относительно простой вопрос.У меня есть datagridview, который все, что он делает, отображает статистику.Нет редактирования / добавления / удаления строк.Сетка данных привязана к списку.Все, чего я хочу добиться, - это чтобы пользователь мог сортировать столбцы.
class Market
{
public int Location {get;set;}
public float Value {get;set;}
//...
}
class City
{
public String Name {get;set;}
//...
}
List<Market> _markets;
List<City> _cities;
//Lists are populated.
dataGridView1.DataSource = _markets.Select(market =>
new { _cities[market.Location].Name, market.Value}).ToList();
Как и ожидалось, столбцы не сортируются, но отображаемая информация - это то, что нужно.Мой вопрос заключается в том, как сделать сортировку DataGridView по типу столбца с наименьшим количеством сложного и наименьшего количества кода, так как код будет использоваться несколько раз.
Это приложение использовало базу данных, у которой были представления,Эти представления затем заполнили DataGridViews.Представления все еще существуют, поэтому возможное решение может быть таким:
DataBase.ViewMarketValue temp = new DataBase.ViewMarketValue()
_markets.ForEach(market => temp.AddViewMarketValueRow(_cities[market.Location].Name, market.Value);
dataGridView1.DataSource = temp;
Это приводит к желаемому: сетевому представлению данных, которое содержит всю информацию и является сортируемым.Единственная проблема заключается в том, что использование представлений в этом аспекте кажется неправильным.Так что мне делать?