C# Winform使用DataGridView显示表格数据

C# Winform使用DataGridView显示表格数据

DataGridView的常见应用

DataGridView是.NET框架中用于显示、编辑和操作数据表格的控件。它提供了一个灵活的方式来显示和操作大量的数据。以下是对DataGridView的一些常见应用和实现的总结:

数据显示:DataGridView可以用于显示来自各种数据源的数据,包括数据库、数组、列表等,可以直接将数据源绑定到DataGridView,或者通过代码逐行填充数据。

列自定义:可以自定义DataGridView的列,包括设置列的宽度、可见性、排序方式、文本等,还可以添加按钮列,以允许用户执行操作,如编辑、删除等。

行选择:DataGridView支持多选,用户可以通过Ctrl或Shift键选择多行,也可以通过代码来选择特定的行。

事件处理:DataGridView支持各种事件,如点击事件、数据更改事件等,可以通过编写事件处理程序来响应用户的操作,例如点击按钮列的按钮或者更改选中的行。

数据绑定:DataGridView可以与数据源进行双向绑定,这意味着当用户更改DataGridView中的数据时,数据源中的数据也会相应地更改,反之亦然。

数据排序:DataGridView支持自动和手动排序,可以通过设置SortMode属性为Automatic或Programmatic来启用自动排序。

分页:虽然DataGridView本身并没有内置分页功能,但可以通过在数据源中实现分页,或者使用第三方库来实现分页。

DataGridView控件的使用方法

1、创建一个Windows窗体应用程序,并添加一个DataGridView控件到窗体上。

2、在代码文件中,定义一个数据源,例如一个包含学生信息的DataTable:

DataTable students = new DataTable();

students.Columns.Add("ID", typeof(int));

students.Columns.Add("Name", typeof(string));

students.Columns.Add("Age", typeof(int));

3、将数据源绑定到DataGridView控件上:

dataGridView1.DataSource = students;

4、在DataGridView控件中添加列和行,以及设置列和行的属性:

dataGridView1.Columns["ID"].HeaderText = "学号";

dataGridView1.Columns["Name"].HeaderText = "姓名";

dataGridView1.Columns["Age"].HeaderText = "年龄";

5、添加数据到DataGridView控件中:

// 添加10条数据到DataGridView控件中

for (int i = 0; i < 10; i++)

{

DataRow row = students.NewRow();

row["ID"] = i + 1;

row["Name"] = "学生" + (i + 1);

row["Age"] = i * 2 + 10;

students.Rows.Add(row);

}

DataGridView完整应用示例

using System;

using System.Data;

using System.Windows.Forms;

namespace WinForm_DataGridView

{

public partial class Form1 : Form

{

// 定义一个DataTable作为数据源

private DataTable students = new DataTable();

public Form1()

{

InitializeComponent();

// 初始化DataGridView控件

InitializeDataGridView();

}

// 初始化DataGridView控件

private void InitializeDataGridView()

{

// 添加列到数据源

students.Columns.Add("ID", typeof(int));

students.Columns.Add("Name", typeof(string));

students.Columns.Add("Age", typeof(int));

// 将数据源绑定到DataGridView控件上

dataGridView1.DataSource = students;

// 设置列标题

dataGridView1.Columns["ID"].HeaderText = "学号";

dataGridView1.Columns["Name"].HeaderText = "姓名";

dataGridView1.Columns["Age"].HeaderText = "年龄";

}

// 加载按钮的点击事件处理程序

private void btnLoadData_Click(object sender, EventArgs e)

{

// 添加10条数据到DataGridView控件中

AddDataToDataGridView();

}

// 添加10条数据到DataGridView控件中

private void AddDataToDataGridView()

{

for (int i = 0; i < 20; i++)

{

DataRow row = students.NewRow();

row["ID"] = i + 1;

row["Name"] = "学生" + (i + 1);

row["Age"] = i * 2 + 10;

students.Rows.Add(row);

}

}

}

}

运行结果

相关推荐

腾讯 QQ HD 从苹果 App Store 下架。
365bet手机网址

腾讯 QQ HD 从苹果 App Store 下架。

📅 08-11 👁️ 2070
学电商运营哪个培训机构比较好?真实避坑指南来了
美好365app官方下载

学电商运营哪个培训机构比较好?真实避坑指南来了

📅 08-09 👁️ 3711
加拿大28总是输了?要怎么办?技巧+规律
美好365app官方下载

加拿大28总是输了?要怎么办?技巧+规律

📅 07-11 👁️ 6792
查询0758是哪里的区号?
365bet手机网址

查询0758是哪里的区号?

📅 07-26 👁️ 3046
罗马2:全面战争(老玩家客观评价 长篇感想及心得)
365bet手机网址

罗马2:全面战争(老玩家客观评价 长篇感想及心得)

📅 08-07 👁️ 8406
双眼皮眼线怎么画好看
365bet手机网址

双眼皮眼线怎么画好看

📅 07-27 👁️ 1426