雷达智富

首页 > 内容 > 程序笔记 > 正文

程序笔记

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

2024-09-26 11

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);
            }
        }
    }
}

运行结果

更新于:7天前
赞一波!

文章评论

评论问答