Dar*_*ung 0 c# data-binding datagridview
我想将字典绑定到 datagridview。不幸的是,Dictionary 没有实现所需的接口,因此创建了一个 List>。
本质上,我希望将其绑定到带有 datagridviewcomboboxcolumns 的 datagridview。第 1 列保存键,第 2 列保存值。
我已经尝试了很多变化,但我似乎无法做到这一点。我尝试绑定到列、单个单元格和 datagridview 本身。有人知道怎么做这个吗?
编辑:澄清它没有绑定到问题的对象。似乎绑定到列表没问题,例如,如果我在列表中有 4 个项目,则添加 4 行,但值为空。这是示例代码:
additionalMetadata1.dataGridView1.DataSource = animal.AdditionalMetaData;
foreach (DataGridViewRow row in additionalMetadata1.dataGridView1.Rows)
{
DataGridViewCustomComboCell cell = row.Cells[0] as DataGridViewCustomComboCell;
cell.DataSource = animal.AdditionalMetaData;
((DataGridViewCustomComboColumn)additionalMetadata1.dataGridView1.Columns[0]).DisplayMember = "Key";
((DataGridViewCustomComboColumn)additionalMetadata1.dataGridView1.Columns[0]).ValueMember = "Key";
((DataGridViewCustomComboColumn)additionalMetadata1.dataGridView1.Columns[0]).DataPropertyName = "Key";
}
Run Code Online (Sandbox Code Playgroud)
谢谢。
您可以在以下 Linq 中使用您的字典:
dataGridView.DataSource = (from d in dictionary
orderby d.Value
select new
{
d.Key,
d.Value
}).ToList();
Run Code Online (Sandbox Code Playgroud)
这将创建一个匿名对象,将您的 Key 和 Value 作为属性。请注意,字典默认情况下没有特定顺序。
| 归档时间: |
|
| 查看次数: |
7856 次 |
| 最近记录: |