请写出一个完整的C#例子用于datagirdview的刷新
时间: 2024-02-09 12:12:13 浏览: 114
好的,以下是一个基于 WinForm 的 C# DataGridView 刷新的完整示例代码:
```csharp
using System;
using System.Collections.Generic;
using System.Windows.Forms;
namespace DataGridViewRefreshExample
{
public partial class Form1 : Form
{
private List<Person> _data = new List<Person>();
public Form1()
{
InitializeComponent();
// 初始化 DataGridView 的列
dataGridView1.Columns.Add("Name", "姓名");
dataGridView1.Columns.Add("Age", "年龄");
dataGridView1.Columns.Add("Gender", "性别");
// 添加测试数据
_data.Add(new Person { Name = "张三", Age = 20, Gender = "男" });
_data.Add(new Person { Name = "李四", Age = 25, Gender = "男" });
_data.Add(new Person { Name = "王五", Age = 30, Gender = "女" });
// 绑定数据源
dataGridView1.DataSource = _data;
}
private void button1_Click(object sender, EventArgs e)
{
// 禁止 DataGridView 自动刷新
dataGridView1.SuspendLayout();
// 修改 DataGridView 数据源
_data.Add(new Person { Name = "赵六", Age = 35, Gender = "女" });
// 刷新 DataGridView
dataGridView1.ResumeLayout();
dataGridView1.Refresh();
}
}
// 测试用的数据类
public class Person
{
public string Name { get; set; }
public int Age { get; set; }
public string Gender { get; set; }
}
}
```
这个例子中,我们通过一个按钮来触发 DataGridView 的刷新操作。在按钮的事件处理方法 `button1_Click` 中,首先使用 `SuspendLayout()` 方法暂停 DataGridView 的自动刷新,然后修改数据源,最后使用 `ResumeLayout()` 和 `Refresh()` 方法来手动刷新 DataGridView。这样就可以实现高效率的 DataGridView 刷新,避免了频繁的 UI 刷新对性能的影响。
阅读全文