使用 ListView 显示数据
发布:cnwang | 发布时间: 2010年5月2日一般情况下,如果需要在程序中显示数据记录,人们通常使用的工具可能是DataGridView控件。不可否认,使用DataGridView控件来完成这种工作非常实用简单。但是在实际工作中,也许它并不能满足我们的要求。这个时候,你可以尝试用ListView来显示你的数据记录。 ListView(列表)是.Net FreameWork 中的一个常用组件,常常被使用显示比较庞大的数据信息。 本文将利用这一控件来讲解如何使用 ListView来显示数据。 笔者使用的开发工具为 VS2008+MySql。虽然这种组合会让某些人感到很不爽,但是不可否认,它很简洁。
首先,建立一个数据连接。 具体的原理本文就不再讲解了。直接上源:
2 "Driver={Mysql odbc 5.1 driver};" +
3 "Server=localhost;" +
4 "database=listdata;" +
5 "UID=root");
6 DBConn.Open();
对ListView控件进行属性设置主要有如下属性:
2 listView1.FullRowSelect = true ; //要选择就是一行
3 listView1.View = View.Details ;//定义列表显示的方式
4 listView1.Scrollable = true ; //需要时候显示滚动条
5 listView1.MultiSelect = false ; // 不可以多行选择

对数据集中的数据记录进行遍历,在遍历中添加记录到列表中。 可以利用数据集中的Read ( )方法,来实现对数据记录的遍历,Read ( )方法是首先指向首数据记录,并判断从此记录是否为尾记录,如果不是则返回false,如果是则返回true。并且如果不是尾记录则自动把数据指针移到下一条记录上,然后在判断此记录是否是尾记录,如此循环,直至到尾记录为止。
根据此可设计以下代码:
2 {
3 ListViewItem lvi = new ListViewItem();
4 lvi.SubItems[0].Text = reader["name"].ToString();
5 lvi.SubItems.Add(reader["age"].ToString());
6 lvi.SubItems.Add(reader["city"].ToString());
7 lvi.SubItems.Add(reader["qq"].ToString());
8 listView1.Items.Add(lvi);
9 }
最后,不忘了将数据连接关闭
MySql数据库表设计,Test表:

最终效果:

完整代码:
02 using System.Collections.Generic;
03 using System.ComponentModel;
04 using System.Data;
05 using System.Drawing;
06 using System.Linq;
07 using System.Text;
08 using System.Windows.Forms;
09
10 using System.Data.Odbc;
11 using System.Data.OleDb;
12 namespace ListView
13 {
14 public partial class Form1 : Form
15 {
16 OdbcConnection DBConn = new OdbcConnection(
17 "Driver={Mysql odbc 5.1 driver};" +
18 "Server=localhost;" +
19 "database=listdata;" +
20 "UID=root");
21
22 public Form1()
23 {
24 InitializeComponent();
25 }
26
27 private void button1_Click(object sender, EventArgs e)
28 {
29 DBConn.Open();
30 OdbcCommand cmd = new OdbcCommand("Select * from test",DBConn);
31 OdbcDataReader reader = cmd.ExecuteReader();
32 this.listView1.Items.Clear();
33 while (reader.Read())
34 {
35 ListViewItem lvi = new ListViewItem();
36 lvi.SubItems[0].Text = reader["name"].ToString();
37 lvi.SubItems.Add(reader["age"].ToString());
38 lvi.SubItems.Add(reader["city"].ToString());
39 lvi.SubItems.Add(reader["qq"].ToString());
40 listView1.Items.Add(lvi);
41 }
42 DBConn.Close();
43 }
44
45 }
46 }
- 相关文章:
.NET 4 各项技术的应用前景 (2010-5-1 22:18:22)
微软美女工程师谈.NET 4.0 Beta 中的WCF工具 (2010-3-21 3:16:10)
C#设计模式之简单工厂 (2010-3-18 21:23:5)
MSSQL2005 用户'sa'登录失败。错误18456 (2010-3-18 12:39:19)
让你的Windows 下的IIS支持PHP (2010-3-16 22:18:21)
发表评论
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。





