当前位置: 首页 > article >正文

C# winforms DataGridView设置数据源自动显示表格

初级代码游戏的专栏介绍与文章目录-CSDN博客

我的github:codetoys,所有代码都将会位于ctfc库中。已经放入库中我会指出在库中的位置。

这些代码大部分以Linux为目标但部分代码是纯C++的,可以在任何平台上使用。

源码指引:github源码指引_初级代码游戏的博客-CSDN博客


        前面我们已经用Entity Framework Core自动生了访问数据库的代码,为了显示数据,我们只需要使用一个DataGridView并把DataSource属性设置为数据表对象即可。

目录

一、效果

二、添加DataGridView控件

​编辑

三、设置属性

四、设置DataSource关联到数据表

五、同一个DataListView显示不同的表


一、效果

        自动显示为带列头的表格(宽度我设置了横向自适应,会自动扩展到整个控件的宽度)

二、添加DataGridView控件

三、设置属性

         设置属性,横向最好自动占满控件,不然不好看:

四、设置DataSource关联到数据表

        一般就先写个按钮呗,按钮代码里面设置控件的数据源:

		public TablesContext db;//EntityFrameworkCore生成的上下文对象
		public BindingList<GwKey> dsTable1 { get; set; } = [];//一张表
	
    	private void button_table1_Click(object sender, EventArgs e)
		{
			dataGridView1.DataSource = null;//清除数据源
			dataGridView1.Columns.Clear();//清除所有列
			db.Table1.Load();//手动读取数据

			dsGwKey = db.Table1.Local.ToBindingList();//由于内部限制,不能直接使用EntityFrameworkCore生成的对象,不信你可以试一下,运行时会触发异常并给出解决方案,也就是这一句
			dataGridView1.DataSource = dsTable1;//设置数据源,数据就自动显示出来了
		}

        本来只是设置个数据源啊,一句话就可以了,但是因为不允许直接使用EntityFrameworkCore生成的对象,所以必须转换为一个纯粹的List<>或BindingList<>对象,这两者的区别是BindingList会在数据更改时触发事件,而List不会。

五、同一个DataListView显示不同的表

        前面的代码已经很明白了,按钮操作中先清除数据,然后加载一张表,显然是可以用同一个控件显示不同的表的数据的。

        很容易写出一个根据数据库架构列出所有表然后显示表数据的程序。


(这里是文档结束)


http://www.kler.cn/news/316363.html

相关文章:

  • Go 第二期
  • 界面控件Telerik UI for WinForms 2024 Q3概览 - 支持合并单元格等
  • (已解决)vscode如何选择python解释器
  • 【学习笔记】SSL/TLS安全机制之HSTS
  • apt-get install 安装的tomcat配置
  • biopython提取.cif文件的变换矩阵
  • spring全家桶使用教程
  • Kotlin 操作符 in 的基本使用(十)
  • docker存储
  • 2.《DevOps》系列K8S部署CICD流水线之部署NFS网络存储与K8S创建StorageClass
  • 2016年国赛高教杯数学建模A题系泊系统的设计解题全过程文档及程序
  • Python基础学习(3)
  • SpinalHDL之结构(二)
  • rabbitmq整合skywalking并编写自定义插件增强
  • 超详图解 Apache HTTP Server(httpd)安装与验证
  • 设计模式 享元模式(Flyweight Pattern)
  • 『功能项目』QFrameWorkBug修改器界面【65】
  • 数据结构(十四)——HashMap与HashSet(OJ题)
  • Git 提交规范
  • Flyway 数据库差异处理
  • 机器人速度雅可比矩阵求解(2自由度平面关节机器人)
  • Perl 进程管理
  • 【Nginx-Location-Root】最终访问的路径是 root/$uri
  • 程序员锤炼核心竞争力的五重策略
  • 《Linux基础》练习操作
  • Redis中的setnx的使用场景
  • 2024年中国科技核心期刊目录(自然科学卷)科技统计源核心(续)
  • 网络通信——路由器、交换机、集线器(HUB)
  • 【深度学习】(5)--搭建卷积神经网络
  • 【matlab】读取rhd文件格式,intan脑电采集开源代码