C# list<t> 泛型绑定dataGridView实现增删改查
时间: 2024-09-21 15:08:11 浏览: 47
DataGridView点绑定List击列头排序
5星 · 资源好评率100%
在C#中,`List<T>`是一个泛型集合,可以存储任何类型的对象,只要它们实现了某个公共接口或继承了某个公共类。如果你想要将这样的列表绑定到DataGridView控件上,以便于显示和操作数据,你可以按照以下步骤进行:
1. 创建一个泛型类或结构体(T)作为数据模型,它将是DataGridView的数据源。
```csharp
public class DataModel<T> where T : class
{
public int Id { get; set; }
// 添加其他列的属性...
}
```
2. 使用`List<DataModel<T>>`来存储你的数据。
```csharp
List<DataModel<int>> dataList = new List<DataModel<int>>();
// 或者更具体的类型,如List<DataModel<Product>>,其中Product是你自定义的一个类。
```
3. 将`dataList`绑定到DataGridView:
```csharp
dataGridView.DataSource = dataList;
```
4. 对于增删改查操作:
- **添加**:创建新的DataModel实例并添加到list中,然后更新DataSource。
```csharp
dataModel = new DataModel<int>();
dataModel.Id = 100;
dataList.Add(dataModel);
dataGridView.Refresh();
```
- **删除**:从list中移除元素,再次刷新DataSource。
```csharp
dataList.Remove(dataModelToRemove);
dataGridView.DataSource = dataList;
```
- **修改**:更新指定位置的数据模型属性,再同步到DataGridView。
```csharp
dataModelToUpdate.Id = newId;
dataGridView.Rows[dataGridView.CurrentRow.Index].Cells["Id"].Value = newId;
```
- **查询**:可以根据条件过滤或搜索数据,但通常不会直接在DataGridView上做,而是在需要的时候通过LINQ查询出数据模型列表。
记得在实际应用中,可能还需要处理单元格编辑、事件处理等细节。此外,对于复杂的业务逻辑和性能优化,可能还会配合数据库操作使用DataSet或Entity Framework等工具。
阅读全文