C# datagridview.DataSource 绑定List<T>数据源不显示

private List<Student> stuList = null;

//.....
//datagridview ,没有设定默认列

this.dgvStudentList.DataSource = this.stuList;

//datagridview不显示

检查一下:

是不是AutoGenerateColumns属性设置为False了,但是DataGridView并没有设置默认列

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等工具。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值