目录
一、前言
使用前面的数据库操作工具类实现数据表查询,并通过表格展示。
【C#桌面客户端系列学习-4】封装数据库基础操作工具类(CURD)-CSDN博客
数据表

二、窗体设计
1、新建窗体
新建一个windows窗体,命名为tables。
2、新建DataGridView控件
在工具箱中拖出一个DataGridView到窗体,命名为dgvList,在放一个Button,文本为查询表格
三、在窗体设计里添加列及表头
1、选中窗体上的DataGridView控件
2、编辑列
点击控件右上角**▷**标记,选择"编辑列"

3、添加列
在编辑列弹出的对话框的左下角"添加(A)",会弹出添加列对话框

在名称中输入colTitle ,格式为col+字段名,其中title是数据库的字段名,页眉文本是表头。以此类推,把所有需要展示的列都添加上。
4、绑定列属性
上面一步的列添加完后,选择左侧的列,在右侧会出现该列对应的属性,在这里设置该列的DataPropertyName属性,每列都要设置,DataPropertyName属性值必须与数据库字段名一致,否则查出来显示的是空白行。
在这里也可以设置列宽和对齐方式等属性。

| 名称 | 页眉文本 | 添加列后设置DataPropertyName(与数据库字段名一致) |
|---|---|---|
| colId | ID | id |
| colTitle | 标题 | title |
| colCity | 城市 | city |
| colSex | 性别 | sex |
| colLikes | 爱好 | likes |
| colDesc | 描述 | description |
5、其他属性设置
选择表格DataGridView控件,右键属性,找到AllowUserToAddRows 设置为False,表示不要末尾那个空白新增行;ReadOnly 设置True,表示列表展示推荐只读;SelectionMode设FullRowSelect。其他的根据个人需求设置。
四、查询数据事件
点击窗体上的"查询表格"按钮,进入该按钮的事件函数。因为sex和likes存储的是数字,需要转换后再在前端展示。
cs
private void search_Click(object sender, EventArgs e)
{
string sql = "SELECT id,title,city, CASE sex WHEN 1 THEN '男' WHEN 2 THEN '女' ELSE '未知' END AS sex, likes,description FROM form ORDER BY id ASC";
DataTable dt = MySqlHelper.ExecuteDataTable(sql);
dgvList.AutoGenerateColumns = false; // 禁止自动生成列,必须放在绑定之前
// 绑定数据
dgvList.DataSource = dt;
// 格式化 likes 的显示
foreach (DataGridViewRow row in dgvList.Rows)
{
if (row.IsNewRow) continue;
// ---- likes: "1,2,3" -> "写字、阅读、发呆" ----
string likesVal = row.Cells["colLikes"].Value?.ToString();
row.Cells["colLikes"].Value = ConvertLikes(likesVal);
}
}
// likes 转换工具方法
private string ConvertLikes(string likes)
{
if (string.IsNullOrEmpty(likes)) return "";
var map = new Dictionary<string, string>
{
{ "1", "写字" },
{ "2", "阅读" },
{ "3", "发呆" }
};
var result = new List<string>();
foreach (string p in likes.Split(','))
{
if (map.ContainsKey(p.Trim()))
result.Add(map[p.Trim()]);
}
return string.Join("、", result);
}
五、展示结果
