打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
Visual C#中用ListView显示数据记录
在Visual C#中用ListView显示数据记录
2001-11-02· ·阿虎··yesky
如果要你在程序中显示数据库中的数据记录,你首先想用的显示工具肯定是DataGrid。当然用DataGrid显示数据记录是一种既常用又简单的方法。但是在程序控制方面,它却无法那么随心所欲。本文就是介绍另外一种显示数据记录的方法--用ListView来显示数据记录,由于他是手动加入记录,虽然在程序设计中稍微烦琐了些,但对于那些在特殊的显示要求,却往往能够满足要求。
在.Net FrameWork SDK中定义了许多组件,Visual C#就是通过获得这些组件的实例来丰富自己的界面的。列表(ListView)是程序设计中一个常用的组件,由于其自身的特点,往往被使用显示比较庞大的数据信息。本文就是利用他的这个特点来看看它如何来显示数据记录。
一. 程序设计和运行的环境
(1).微软视窗2000专业版本
(2)..Net FrameWork SDK Beta 2
(3).Microsoft Data Acess Component 2.6 (MDAC2.6)
二. 程序设计的具体思路
(1).首先要建立数据连接,打开数据集
(2).对列表进行初始化,并使得列表的显示条件符合数据记录的条件
(3).对数据集中的数据记录进行遍历,在遍历中添加记录到列表中
(4).关闭数据集,关闭数据连接
三. 具体的实现步骤
(1).首先要建立数据连接,打开数据集
对于如何建立数据连接和获得数据集的内容可以参考本站的一篇文章--《在Visual C#中访问不同的数据库》,在此文中对此类问题有比较详细的介绍,本文就不多叙述,具体实现语句如下:
// 定义数据连接的字符串,程序中使用的是Acess 2000数据库
private static string strConnect = "Provider = Microsoft.Jet.OLEDB.4.0 ; Data Source = " +
Application.StartupPath + "\\MY.MDB" ;
private OleDbConnection conConnection = new OleDbConnection ( strConnect ) ;
OleDbDataReader reader ;
// 获得Person里面的所以数据记录
string strCommand = "SELECT * FROM Persons" ;
this.conConnection.Open ( ) ; // 打开数据连接
OleDbCommand cmd = new OleDbCommand ( strCommand , conConnection ) ;
reader = cmd.ExecuteReader ( ) ; file://获得数据集
(2).对列表进行初始化,并使得列表的显示条件符合数据记录的条件。需要说明的是在下面源代码中,lv是在Class中定义的一个ListView的一个实例
// 初始化ListView
lv = new ListView ( ) ;
lv.Left = 0 ;
lv.Top = 0 ;
lv.Width = 700 ;
lv.Height = this.ClientRectangle.Height ;
lv.GridLines = true ; file://显示各个记录的分隔线
lv.FullRowSelect = true ; file://要选择就是一行
lv.View = View.Details ; file://定义列表显示的方式
lv.Scrollable = true ; file://需要时候显示滚动条
lv.MultiSelect = false ; // 不可以多行选择
lv.HeaderStyle = ColumnHeaderStyle.Nonclickable ;
// 针对数据库的字段名称,建立与之适应显示表头
lv.Columns.Add ( "姓名" , 60 , HorizontalAlignment.Right ) ;
lv.Columns.Add ( "住宅电话" , 100 , HorizontalAlignment.Left ) ;
lv.Columns.Add ( "办公电话" , 100 , HorizontalAlignment.Left ) ;
lv.Columns.Add ( "移动电话" , 100 , HorizontalAlignment.Left ) ;
lv.Columns.Add ( "居住地点" , 100 , HorizontalAlignment.Left ) ;
lv.Columns.Add ( "工作单位" , 100 , HorizontalAlignment.Left ) ;
lv.Columns.Add ( "电子邮件" , 100 , HorizontalAlignment.Left ) ;
lv.Visible = true ;
(3).对数据集中的数据记录进行遍历,在遍历中添加记录到列表中。
可以利用数据集中的Read ( )方法,来实现对数据记录的遍历,Read ( )方法是首先指向首数据记录,并判断从此记录是否为尾记录,如果不是则返回false,如果是则返回true。并且如果不是尾记录则自动把数据指针移到下一条记录上,然后在判断此记录是否是尾记录,如此循环,直至到尾记录为止。根据此可设计以下代码:
while ( reader.Read ( ) )
{
ListViewItem li = new ListViewItem ( ) ;
li.SubItems.Clear ( ) ;
li.SubItems[0].Text = reader["name"].ToString ( ) ;
li.SubItems.Add ( reader["HomePhone"].ToString ( ) ) ;
li.SubItems.Add ( reader["WorkPhone"].ToString ( ) ) ;
li.SubItems.Add ( reader["MobilePhone"].ToString ( ) ) ;
li.SubItems.Add ( reader["City"].ToString ( ) ) ;
li.SubItems.Add ( reader["Address"].ToString ( ) ) ;
li.SubItems.Add ( reader["Email"].ToString ( ) ) ;
lv.Items.Add ( li ) ;
}
(4). 关闭数据集,关闭数据连接。
关闭数据集和关闭数据连接是很容易的,只要调用这二个对象的Close()方法即可,也只要调用在程序中具体如下:
reader.Close ( ) ; file://关闭数据集
this.conConnection.Close ( ) ; // 关闭数据连接
【责任编辑:方舟】
【发表评论】【关闭窗口】
■ 相关内容
让窗体飘动起来--Timer组件的用法
C#中的远程执行和分布式计算
Visual C#的剪切板编程
用Visual C#动态生成组件
.Net平台Windows Forms程序设计简介
用Visual C#做托盘程序
用C#实现基于TCP协议的网络通讯
用C#实现基于TCP协议的网络通讯
在C#应用程序中控制输入法
用Visual C#发送电子邮件
用Visual C#发送电子邮件
C#实时申请技术
用C#写计算器程序
用Visual C#做WinForm组件
用Visual C#来清空回收站
用Visual C#做DLL文件
如何用CSC.exe来编译Visual C#的代码文件
在Visual C#中访问不同数据库
Visual C#实战体验Hello World
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
winform下用FileStream实现多文件上传
用递归方法实现读取文件夹下所有文件信息 - GIS穆拉丁 - 博客园
listview与datatable之间的转换
C#ListView控件显示表格(自适应宽度),添加Checkbox,删除选择项,选中颜色和鼠标滑过背景变色
C#中ListView的简单使用方法
C# ListView控件的使用方法 简介
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服