【个人机房重构】——DataGridView控件绑定数据 ㈡

2024-05-08 02:38

本文主要是介绍【个人机房重构】——DataGridView控件绑定数据 ㈡,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

    在上一篇文章中,说了一下使用DataGridView控件直接绑定数据源的做法,那样做虽然方便,但是有缺陷(详情请看上一篇文章)。现在,我将从使用实体类填充泛型集合,用泛型集合来传递数据的方法,来展示DataGridView如何显示数据的。


一、设置DataGridView控件


首先,插入DataGridView控件后,进行相应的设置:




注:设置时,4、5是特别需要注意的。数据DataPropertyName这里,必须要与实体的属性名相同。


设置成功:





二、编写代码


U层


'********************************************** 
' 文 件 名:frmCheckRecharge
' 命名空间:UI
' 内    容:
' 功    能:查询学生充值记录
' 文件关系:
' 作    者:杨晨光
' 小    组:
' 生成日期:2014/8/12 22:17:44
' 版 本 号:V1.0.0.0
' 修改日志:
' 版权说明:
'**********************************************Public Class frmCheckRechargePrivate Sub btnCheck_Click(sender As Object, e As EventArgs) Handles btnCheck.Click'卡号不为空的话,开始进行传值Dim EUser As New Entity.RechargeEntity    '实例化新的RechargeEntity,用来传递B层的实体Dim BUser As New BLL.CheckRechargeBLL     '实例化新的CheckRechargeBLL,传递参数Dim LUser As New List(Of Entity.RechargeEntity)   '实例化新的List泛型集合EUser.cardNo = VarType(txtCID.Text.Trim)    '将卡号赋值给实体层的EUser,VarType将字符串类型转换成integer类型LUser = BUser.Check(EUser)     '调用B层的Check方法'判断返回的泛型集合是否为空'不为空If IsNothing(LUser) = False Then'将泛型集合中数据,显示在DataGridView控件上DataGridView1.DataSource = LUserElsetxtCID.Text = ""     '清空输入卡号文本框txtCID.Focus()      '获得光标输入焦点End IfEnd Sub'自动显示行号Private Sub DataGridView1_RowPostPaint(sender As Object, e As DataGridViewRowPostPaintEventArgs)Trye.Graphics.DrawString((e.RowIndex + 1).ToString(),e.InheritedRowStyle.Font, New SolidBrush(Color.CadetBlue),e.RowBounds.Location.X + 15, e.RowBounds.Location.Y + 5)CatchMsgBox("操作失败")End TryEnd Sub
End Class


B层


Public Class CheckRechargeBLLFunction Check(ByVal user As Entity.RechargeEntity) As List(Of Entity.RechargeEntity)  '返回值为泛型集合'先判断卡号是否为空,为空的话If user.cardNo.ToString.Trim = "" ThenMsgBox("卡号不能为空,请输入卡号!", MsgBoxStyle.Exclamation, "警告")Return NothingEnd If'卡号不为空,则进行赋值判断Dim LUser As List(Of Entity.RechargeEntity)Dim DUser As New DAL.CheckRechargeDALLUser = DUser.Query(user)    '将user值通过D层的Query方法,传到泛型集合LUser中'判断返回的泛型集合是否为空If IsNothing(LUser) = False Then     '不为空Return LUserElseMsgBox("没有此卡号的记录,请重新输入卡号", MsgBoxStyle.Exclamation, "警告")Return NothingEnd IfEnd Function
End Class


D层


Imports System.Data
Imports System.Data.SqlClient
Public Class CheckRechargeDALFunction Query(ByVal user As Entity.RechargeEntity) As List(Of Entity.RechargeEntity)'定义一个操作数据库的助手类Dim MySqlHelper As New SqlHelper'定义对数据库的操作语句Dim strSql As StringstrSql = "select * from T_Recharge where cardNo=@cardNo"'加入参数Dim paras As SqlParameter()paras = {New SqlParameter("@cardNo", user.cardNo)}'执行查询,并将查询的结果保存到dt里边Dim dt As DataTable'保存转换后的泛型集合Dim myList As List(Of Entity.RechargeEntity)'执行查询dt = MySqlHelper.ExecSelect(strSql, CommandType.Text, paras)'进行判断,dt中是否有记录If dt.Rows.Count > 0 Then    'dt中有记录'将dt转换为泛型集合myList = ConvertHelper.convertToList(Of Entity.RechargeEntity)(dt)Return myList      '返回myListElseReturn NothingEnd IfEnd Function
End Class

三、结果











这篇关于【个人机房重构】——DataGridView控件绑定数据 ㈡的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/969077

相关文章

一文教你Python如何快速精准抓取网页数据

《一文教你Python如何快速精准抓取网页数据》这篇文章主要为大家详细介绍了如何利用Python实现快速精准抓取网页数据,文中的示例代码简洁易懂,具有一定的借鉴价值,有需要的小伙伴可以了解下... 目录1. 准备工作2. 基础爬虫实现3. 高级功能扩展3.1 抓取文章详情3.2 保存数据到文件4. 完整示例

使用Java将各种数据写入Excel表格的操作示例

《使用Java将各种数据写入Excel表格的操作示例》在数据处理与管理领域,Excel凭借其强大的功能和广泛的应用,成为了数据存储与展示的重要工具,在Java开发过程中,常常需要将不同类型的数据,本文... 目录前言安装免费Java库1. 写入文本、或数值到 Excel单元格2. 写入数组到 Excel表格

python处理带有时区的日期和时间数据

《python处理带有时区的日期和时间数据》这篇文章主要为大家详细介绍了如何在Python中使用pytz库处理时区信息,包括获取当前UTC时间,转换为特定时区等,有需要的小伙伴可以参考一下... 目录时区基本信息python datetime使用timezonepandas处理时区数据知识延展时区基本信息

Qt实现网络数据解析的方法总结

《Qt实现网络数据解析的方法总结》在Qt中解析网络数据通常涉及接收原始字节流,并将其转换为有意义的应用层数据,这篇文章为大家介绍了详细步骤和示例,感兴趣的小伙伴可以了解下... 目录1. 网络数据接收2. 缓冲区管理(处理粘包/拆包)3. 常见数据格式解析3.1 jsON解析3.2 XML解析3.3 自定义

SpringMVC 通过ajax 前后端数据交互的实现方法

《SpringMVC通过ajax前后端数据交互的实现方法》:本文主要介绍SpringMVC通过ajax前后端数据交互的实现方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价... 在前端的开发过程中,经常在html页面通过AJAX进行前后端数据的交互,SpringMVC的controll

Pandas统计每行数据中的空值的方法示例

《Pandas统计每行数据中的空值的方法示例》处理缺失数据(NaN值)是一个非常常见的问题,本文主要介绍了Pandas统计每行数据中的空值的方法示例,具有一定的参考价值,感兴趣的可以了解一下... 目录什么是空值?为什么要统计空值?准备工作创建示例数据统计每行空值数量进一步分析www.chinasem.cn处

如何使用 Python 读取 Excel 数据

《如何使用Python读取Excel数据》:本文主要介绍使用Python读取Excel数据的详细教程,通过pandas和openpyxl,你可以轻松读取Excel文件,并进行各种数据处理操... 目录使用 python 读取 Excel 数据的详细教程1. 安装必要的依赖2. 读取 Excel 文件3. 读

Spring 请求之传递 JSON 数据的操作方法

《Spring请求之传递JSON数据的操作方法》JSON就是一种数据格式,有自己的格式和语法,使用文本表示一个对象或数组的信息,因此JSON本质是字符串,主要负责在不同的语言中数据传递和交换,这... 目录jsON 概念JSON 语法JSON 的语法JSON 的两种结构JSON 字符串和 Java 对象互转

C++如何通过Qt反射机制实现数据类序列化

《C++如何通过Qt反射机制实现数据类序列化》在C++工程中经常需要使用数据类,并对数据类进行存储、打印、调试等操作,所以本文就来聊聊C++如何通过Qt反射机制实现数据类序列化吧... 目录设计预期设计思路代码实现使用方法在 C++ 工程中经常需要使用数据类,并对数据类进行存储、打印、调试等操作。由于数据类

SpringBoot使用GZIP压缩反回数据问题

《SpringBoot使用GZIP压缩反回数据问题》:本文主要介绍SpringBoot使用GZIP压缩反回数据问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录SpringBoot使用GZIP压缩反回数据1、初识gzip2、gzip是什么,可以干什么?3、Spr