2) И использовать это как:
ительно простой вопрос. У меня есть 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;
Это приводит к желаемому: представлению данных, которое имеет всю информацию и является сортируемым. Единственная проблема заключается в том, что использование представлений в этом аспекте кажется неправильным. И что же мне делать?