Я пытаюсь привязать DataGridView к массиву отраженных объектов.Столбцы заголовка связываются нормально, отображается правильное имя и отображаются семь строк, проблема в том, что строки пусты. Когда я проверяю элементы с привязкой к данным, все выглядит хорошо. Это показывает, что это правильная отраженная модель и значения.
Это фрагмент, который я получил до сих пор.
private void comboBoxTables_SelectedIndexChanged(object sender, EventArgs e)
{
var type = (Type)(this.comboBoxTables.SelectedItem as ComboBoxItem).Value;
object[] result = this.DataLoader.Get(type);
dataGridView1.DataSource = result;
this.dataGridView1.Columns.Clear();
var properties = type.GetProperties();
foreach (var property in properties)
{
this.dataGridView1.Columns.Add(property.Name, property.Name);
this.dataGridView1.Columns[property.Name].DataPropertyName = property.Name;
}
this.dataGridView1.Refresh();
}
Этот фрагмент:
object[] result = this.DataLoader.Get(type);
Извлекает данные из словаря, содержащего отраженные значения, в виде массива объектов.
Я попытался использовать вместо этого источник привязки и некоторые другие уродливые хаки, но не могуполучить строки для отображения любых данных.
Любая помощь очень ценится, спасибо заранее.
решено
Не уверен, почему это решилопроблема, но добавив ToList()
на результат, данные были отображены правильно.Это может быть из-за не перечислимого IEnumerable ранее в коде.
dataGridView1.DataSource = result.ToList();