如何将 ICollection<IGrouping<long, HullInfo>>绑定到datagridview
时间: 2023-08-29 11:07:46 浏览: 147
要将 `ICollection<IGrouping<long, HullInfo>>` 绑定到 `DataGridView`,需要先将其转换为可绑定的数据源。以下是一种方法:
1.创建一个新的 `DataTable` 实例。
2.循环遍历 `ICollection<IGrouping<long, HullInfo>>`,将其中的数据添加到 `DataTable` 中。可以使用 `foreach` 循环遍历 `ICollection<IGrouping<long, HullInfo>>` 中的每个 `IGrouping`,然后使用嵌套的 `foreach` 循环遍历 `IGrouping` 中的每个 `HullInfo`,并将其添加到 `DataTable` 中。
3.将 `DataTable` 绑定到 `DataGridView` 的 `DataSource` 属性上。
以下是示例代码:
```
ICollection<IGrouping<long, HullInfo>> data = GetData(); // 从数据源获取数据
// 创建 DataTable
DataTable table = new DataTable();
table.Columns.Add("GroupId", typeof(long));
table.Columns.Add("HullInfoId", typeof(long));
table.Columns.Add("Name", typeof(string));
table.Columns.Add("Length", typeof(double));
table.Columns.Add("Width", typeof(double));
// 将数据添加到 DataTable
foreach (var group in data)
{
foreach (var hullInfo in group)
{
DataRow row = table.NewRow();
row["GroupId"] = group.Key;
row["HullInfoId"] = hullInfo.Id;
row["Name"] = hullInfo.Name;
row["Length"] = hullInfo.Length;
row["Width"] = hullInfo.Width;
table.Rows.Add(row);
}
}
// 将 DataTable 绑定到 DataGridView
dataGridView.DataSource = table;
```
阅读全文