主题:listview可以显示数据库内某个表的内容的一个字段,不能显示所有字段
cky726
[专家分:50] 发布于 2005-09-27 10:50:00
listview可以显示数据库内某个表的内容的一个字段,不能显示所有字段
连接数据库后,打开一表,用下面代码可能显示表的内容的一个字段
Do While myReader2.Read
Dim myItem2 As New ListViewItem
myItem2.Text = myReader2.Item("姓名(职称)")
ListView1.Items.Add(myItem2)
Loop
但不能显示所有字段内容,
本人,目的想显示整个表所有字段,请高手指点
回复列表 (共5个回复)
沙发
cky726 [专家分:50] 发布于 2005-09-27 10:58:00
补充上面的代码:
Dim myReader2 As SqlDataReader
myReader2 = myBookCommand2.ExecuteReader(CommandBehavior.CloseConnection)
Do While myReader2.Read
Dim myItem2 As New ListViewItem
myItem2.Text = myReader2.Item("姓名(职称)")
ListView1.Items.Add(myItem2)
Loop
板凳
宝宝啊呜 [专家分:990] 发布于 2005-09-27 13:10:00
做个循环,一条一条读出来
3 楼
cky726 [专家分:50] 发布于 2005-09-28 08:55:00
上面的代码在listview达到的效果为:
姓名(职称) 手机 固定电话 传真
陈莉丽
邓之平
马长列
苏马联
用的就是一个读表的循环,但只是读“姓名(职称)”这个字段的循环
本想再来一个同样的循环来读“手机”这个字段,但运行效果又插在“姓名(职称)”
下面,没有在“手机”下方显示,郁闷啊,怎么把整个表内容都显示在listview中?
宝宝啊呜师父再指点指点。多谢啦!
4 楼
cky726 [专家分:50] 发布于 2005-09-28 15:07:00
在Visual C#中用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 ;
OleDbDataReader reader ;
string strCommand = "SELECT * FROM Persons" ;
this.conConnection.Open ( ) ;// 打开数据连接
OleDbCommand cmd = new OleDbCommand ( strCommand , conConnection ) ;
reader = cmd.ExecuteReader ( ) ;//获得数据集
// 不断往列表中添加数据记录
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 ) ;
}
reader.Close ( ) ; // 关闭数据集
li.SubItems.Add ( reader["HomePhone"].ToString ( ) ) ;用vb.net如何表达??
请大师指点
5 楼
cky726 [专家分:50] 发布于 2005-09-28 15:23:00
呵呵,知道了
指reader["...."]改为 reader(".....")就行了
谢谢大家的指点
我来回复