将字典绑定到C#中的DataGridView?

tus*_*h1r 6 c# datagridview winforms

我有一个字典项目如下

Dictionary<string, List<StrikePrice>>
Run Code Online (Sandbox Code Playgroud)

哪里

public class StrikePrice
{
    public string Strike { get; private set; }
    public string Price { get; private set; }

    public StrikePrice(string strike, string price)
    {
        Strike = strike;
        Price = price;
    }
}
Run Code Online (Sandbox Code Playgroud)

我希望将这本词典分配到 DataGridView

this.dataGridViewTest.DataSource = listSmiles;
Run Code Online (Sandbox Code Playgroud)

我知道字典不能分配给它,DataSource因为这不是从IList接口派生的.

有什么办法可以将这个字典元素分配给datagrid吗?

pSt*_*tan 3

我知道这有点旧,但也许会对某人有所帮助。这个一行解决方案对我有用

gridTAV.DataSource = dTAV.Values.ToList<TotalAccountValue>();
Run Code Online (Sandbox Code Playgroud)

gridTAV 是一个 DataGridView。dTAV 是一本字典。键是日期(不重要),值是类。

Dictionary<DateTime, TotalAccountValue> dTAV = new Dictionary<DateTime, TotalAccountValue>();
Run Code Online (Sandbox Code Playgroud)

由于该值是一个类,因此“ToArray()”方法对我不起作用,因为它没有“解压”类属性。

请注意,这不会将 KEY 放置在网格中,但我并不真正需要它。