BindingList<> 更改DataGridView 中数据
时间: 2024-02-28 15:54:54 浏览: 26
当你修改了 BindingList<> 中的数据后,DataGridView 会自动更新显示。如果你想手动更新,可以使用以下代码:
```
bindingSource.ResetBindings(false);
```
其中,`bindingSource` 是绑定到 DataGridView 上的 BindingSource 对象。`ResetBindings(false)` 方法会强制重新绑定数据源,参数 `false` 表示只更新数据,不更新列的结构。
相关问题
DataGridView 用BindingList<>修改数据
要在 DataGridView 中使用 BindingList<> 修改数据,可以按照以下步骤操作:
1. 创建一个 BindingList<> 对象,并将其设置为 DataGridView 的数据源。
```
BindingList<MyData> dataList = new BindingList<MyData>();
dataGridView.DataSource = dataList;
```
2. 在 BindingList<> 中添加数据。
```
dataList.Add(new MyData { Name = "John", Age = 25 });
dataList.Add(new MyData { Name = "Jane", Age = 30 });
```
3. 在 DataGridView 中编辑数据。
当用户双击单元格时,DataGridView 进入编辑模式。用户可以在编辑模式下修改单元格的值。如果你需要在用户完成编辑后更新 BindingList<> 中的数据,可以处理 DataGridView 的 `CellEndEdit` 事件,将修改后的值保存回 BindingList<>。
```
private void dataGridView_CellEndEdit(object sender, DataGridViewCellEventArgs e)
{
MyData data = dataList[e.RowIndex];
DataGridViewCell cell = dataGridView[e.ColumnIndex, e.RowIndex];
string propertyName = dataGridView.Columns[e.ColumnIndex].DataPropertyName;
object value = cell.Value;
PropertyInfo property = typeof(MyData).GetProperty(propertyName);
property.SetValue(data, Convert.ChangeType(value, property.PropertyType));
}
```
这段代码会获取修改后的单元格值,并将其设置回 BindingList<> 中的对应对象。
4. 在 DataGridView 中删除数据。
用户可以通过选中一行并按下 Delete 键来删除行。如果你需要在用户删除行后更新 BindingList<> 中的数据,可以处理 DataGridView 的 `UserDeletingRow` 事件,将要删除的数据从 BindingList<> 中删除。
```
private void dataGridView_UserDeletingRow(object sender, DataGridViewRowCancelEventArgs e)
{
MyData data = (MyData)e.Row.DataBoundItem;
dataList.Remove(data);
}
```
这段代码会获取要删除的对象,并将其从 BindingList<> 中删除。
这样,你就可以使用 BindingList<> 在 DataGridView 中修改数据了。
C# 中 datagridview 绑定BindingList类型和更新
对于C#中的DataGridView控件,我们可以使用BindingList类型来进行数据绑定。BindingList是一个可自动更新的集合类,可以实现数据的实时更新和显示。下面是绑定BindingList类型数据到DataGridView的步骤:
1. 创建BindingList对象
在代码中创建一个BindingList对象,将数据添加到BindingList中。
```
BindingList<MyData> dataList = new BindingList<MyData>();
dataList.Add(new MyData("Name1", "Value1"));
dataList.Add(new MyData("Name2", "Value2"));
```
2. 绑定数据源
将BindingList对象作为数据源绑定到DataGridView中。
```
dataGridView1.DataSource = dataList;
```
3. 刷新数据
如果需要实时更新数据,可以调用BindingList的ResetBindings方法来刷新数据。
```
dataList.ResetBindings();
```
至于更新DataGridView中的数据,可以直接修改BindingList中的数据,然后调用ResetBindings方法进行刷新。
```
dataList[0].Value = "New Value";
dataList.ResetBindings();
```
相关推荐
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)