datagridview已经通过DataGridView1.Rows.Add();赋值,它的DataSource的值还是空吗,如何给DataSource赋值
时间: 2024-10-15 14:17:54 浏览: 17
当你使用`DataGridView1.Rows.Add()`方法向DataGridView中添加数据行时,这会直接操作控件的数据模型(DataModel),而不是设置DataSource属性。所以,DataSource本身并不会因此而自动更新,它通常用于数据绑定,从外部数据源获取数据填充到DataGridView。
如果你想要将外部数据源(如数据库、数组或其他数据结构)绑定到DataSource上,你可以按照以下步骤操作:
1. 创建一个DataSet、DataTable或者List之类的对象,并填充数据。
```csharp
DataTable dt = new DataTable();
// 填充数据
dt.Columns.Add("Column1");
dt.Columns.Add("Column2"); // 添加列
dt.Rows.Add("Row1Value1", "Row1Value2"); // 添加行
// 或者使用集合(例如List)
var data = new List<Tuple<int, string>>();
data.Add(new Tuple<int, string>(1, "Item1"));
data.Add(new Tuple<int, string>(2, "Item2"));
```
2. 将这个数据源设置到DataGridView的DataSource属性上。
```csharp
DataGridView1.DataSource = dt; // 对于DataTable
// 或者
DataGridView1.DataSource = data.AsEnumerable().DefaultView; // 对于List
```
现在,DataGridView的数据源应该已经被设置并且显示了你刚才提供的数据。如果你在Add()方法之后设置了DataSource,那么数据不会实时更新,需要手动刷新视图(调用`DataGridView1.DataBind();`)才能看到新的数据。
阅读全文