ICollection<IGrouping<long, HullInfo>>如何绑定到dataGrieView的一列中
时间: 2024-02-13 18:07:56 浏览: 67
要将 `ICollection<IGrouping<long, HullInfo>>` 绑定到 `DataGridView` 的一列中,可以使用自定义列的方式。以下是一种方法:
1.创建一个继承自 `DataGridViewColumn` 的自定义列类,例如 `GroupingColumn`,并重写其中的 `CellTemplate` 属性,指定单元格模板为自定义的 `GroupingCell` 类。
```csharp
public class GroupingColumn : DataGridViewColumn
{
public GroupingColumn()
{
// 设置列的属性
HeaderText = "Grouping";
CellTemplate = new GroupingCell();
}
}
public class GroupingCell : DataGridViewTextBoxCell
{
public override object FormattedValue
{
get
{
// 获取单元格的值,并将其转换为 IGrouping<long, HullInfo>
var grouping = (IGrouping<long, HullInfo>)Value;
// 返回 IGrouping<long, HullInfo> 的 Key 值
return grouping.Key;
}
}
}
```
2.将自定义列添加到 `DataGridView` 的 `Columns` 集合中。
```csharp
// 创建 DataGridView
var dataGridView = new DataGridView();
// 添加自定义列
var groupingColumn = new GroupingColumn();
dataGridView.Columns.Add(groupingColumn);
// 绑定数据源
var data = GetData(); // 从数据源获取数据
dataGridView.DataSource = data;
```
这样,`ICollection<IGrouping<long, HullInfo>>` 中的每个 `IGrouping<long, HullInfo>` 就会显示在 `DataGridView` 的 `GroupingColumn` 列中,并且单元格的值为 `IGrouping<long, HullInfo>` 的 Key 值。
阅读全文