WinForm中的DataGridView 控件

一、DataGridView 是什么

DataGridView 是 WinForm 中最常用、最强大的数据展示控件,主要用于:显示表格数据、绑定数据库 / 集合、提供编辑、排序、选择等功能。常见应用场景:显示数据库查询结果、日志列表、报表界面、配置管理界面、实时数据监控

二、添加行列

vbnet 复制代码
Dim dgv As New DataGridView()

dgv.Columns.Add("colName", "姓名")
dgv.Columns.Add("colAge", "年龄")
dgv.Columns.Add("colScore", "成绩")

dgv.Rows.Add("张三", 18, 90)
dgv.Rows.Add("李四", 20, 85)

三、常用属性

  • 是否允许用户新增、删除行
vbnet 复制代码
dgv.AllowUserToAddRows = False
dgv.AllowUserToDeleteRows = False
  • 只读
vbnet 复制代码
dgv.ReadOnly = True
  • 自动列宽
vbnet 复制代码
dgv.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.Fill

四、绑定数据

  • 绑定 List
vbnet 复制代码
Public Class Student
    Public Property Name As String
    Public Property Age As Integer
    Public Property Score As Integer
End Class
vbnet 复制代码
Dim list As New List(Of Student) From {
    New Student With {.Name = "张三", .Age = 18, .Score = 90},
    New Student With {.Name = "李四", .Age = 20, .Score = 85}
}

dgv.AutoGenerateColumns = True
dgv.DataSource = list
  • 绑定 DataTable
vbnet 复制代码
Dim dt As New DataTable()
dt.Columns.Add("Name")
dt.Columns.Add("Age")
dt.Columns.Add("Score")

dt.Rows.Add("王五", 19, 88)
dt.Rows.Add("赵六", 21, 92)

dgv.DataSource = dt

五、常见事件

  • CellClick:获取点击的行数据
vbnet 复制代码
Private Sub dgv_CellClick(sender As Object, e As DataGridViewCellEventArgs) _
    Handles dgv.CellClick

    If e.RowIndex < 0 Then Return

    Dim name = dgv.Rows(e.RowIndex).Cells("Name").Value.ToString()
    MessageBox.Show(name)
End Sub
  • CellValueChanged:监听数据修改
vbnet 复制代码
Private Sub dgv_CellValueChanged(...) Handles dgv.CellValueChanged
    MessageBox.Show("数据已修改")
End Sub
相关推荐
light blue bird4 天前
产线多并发客户端指令操作场景组件
jvm·oracle·.net·winform
初级代码游戏22 天前
套路化编程 C# winform 自适应缩放布局
开发语言·c#·winform·自动布局·自动缩放
Traced back24 天前
WinForms 线程安全三剑客详解
安全·c#·winform
PfCoder1 个月前
WinForm真入门(23)---PictureBox 控件详细用法
开发语言·windows·c#·winform
PfCoder1 个月前
C#中定时器之System.Timers.Timer
c#·.net·visual studio·winform
时光追逐者1 个月前
使用 NanUI 快速创建具有现代用户界面的 WinForm 应用程序
ui·c#·.net·winform
刘欣的博客1 个月前
c# winform 控件dock 停造位置、摆放顺序问题
c#·winform·dock停靠问题
故事不长丨1 个月前
C#log4net详解:从入门到精通,配置、实战与框架对比
c#·.net·wpf·log4net·日志·winform·日志系统
Lv11770082 个月前
WinForm常用控件功能介绍及使用模板
笔记·c#·visual studio·winform