请问VB6中ListView控件如何和数据库绑定,比如说ADODC控件

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了请问VB6中ListView控件如何和数据库绑定,比如说ADODC控件相关的知识,希望对你有一定的参考价值。

如何将adodc里的数据与listview绑定?还有当我单击“按房间类型显示”时,listview中的数据也随着变化。先谢谢你了!

参考技术A Dim link1 As New ADODB.Connection
Dim rs As New ADODB.Recordset
Dim pubdatapath As String

Sub opendatabase(datapath As String) '打开数据库函数
If link1.State = 1 Then '如果以连接过,则关闭,初始化下次事务
link1.Close: list2.ListItems.Clear: list2.ColumnHeaders.Clear: c.Clear: list1.ListItems.Clear
End If
link1.ConnectionString = "Provider=microsoft.jet.oledb.4.0;data source=" & datapath
link1.Open
pubdatapath = datapath
Set biaoming = link1.OpenSchema(adSchemaColumns) '创建数据库记录集
tablename = ""
Do Until biaoming.EOF
If biaoming("table_name") <> tablename Then '列出所有表
tablename = biaoming("table_name")
list1.ListItems.Add , , tablename
End If
biaoming.MoveNext
Loop
Set biaoming = Nothing
menu1.Enabled = True
list1_MouseUp 1, 0, 10, 10
End Sub
Private Sub Command1_Click() '打开数据库
d.DialogTitle = "打开一个数据库文件进行浏览"
d.InitDir = App.Path
d.FileName = ""
d.Filter = "Access数据库(mdb后缀,推荐格式)|*.mdb"
d.ShowOpen
If d.FileName = "" Then Exit Sub
opendatabase d.FileName
End Sub
参考技术B 不能绑定的,显示数据只能靠代码

VB控件问题

请问这是一个什么控件图片链接为http://hiphotos.baidu.com/qqnumber463228803/pic/item/2cbc6b083d2737820a7b8292.jpg
在迅雷里面好像也有,VB 6.0如何添加这个控件,还有这个控件的基本使用方法

使用 ListView 控件

ListView 控件以 ListItem 对象的形式显示数据。每个 ListItem 对象都可有一个可选的图标与其标签相关联。该控件擅长于表示数据的子集(比如数据库的成员)或分布式对象(比如文档模板)。

可能的用途
显示对数据库查询的结果。

显示数据库表中的所有记录。

与 Treeview 控件联合使用,给出 TreeView 控件节点的扩展视图。
可用的四种视图
ListView 控件可以以四种不同的视图模式显示数据(如以下所示参数)。如何对控件编程取决于想让用户看到(或选择)何种视图。

这些视图每种都有其优于其它视图的地方。下表中列出了一些:

视图 优点
图标 可用鼠标操作,使用户能够拖放该对象,并重新排列它们。
小图标 同时能够显示更多的 ListItem。与图标视图相似,可由用户重新排列对象。
列表 提供排序的 ListItems 对象视图。
报表 提供排序的视图,通过 SubItems 能够显示更多的信息。

图标视图的 ListView

用 View 属性改变视图
要改变视图,可以使用 View 属性。下面的代码将 View 属性设置为报表视图 (3),代码中使用了内部常数 lvwReport:

'该控件的名称为“ListView1”
ListView1.View = lvwReport

用 View 属性,可使最终用户动态地改变视图。在窗体的 Load 事件中,ComboBox 被View属性所选择的视图来充填View所选择:

Private Sub Form_Load()
'充填到 ComboBox 控件。
'ComboBox 控件的名称是“cmbChooseView”。
With cmbChooseView
. AddItem "Icon" ' 0
. AddItem "Small Icon" ' 1
. AddItem "List" ' 2
. AddItem "Report" ' 3
End With
End Sub

在 ComboBox 控件的 Click 事件中,该控件的视图可被重新设置,如下所示:

Private Sub cmbChooseView_Click()
'ListView 控件的名称是“lvwDB”
lvwDB.View = cmbChooseView.ListIndex
End Sub

用于图标视图和小图标视图的两个 ImageList 控件
ListItem 对象由标签(Text 属性)和由 ImageList 控件提供的可选图象构成。然而,ListView 控件和其它控件不同,可以具有两个 ImageList 控件,它们分别有 Icons 和 SmallIcons 属性设置。是否使用一个或两个 ImageList 控件取决于想用的视图,它由 View 属性决定。

在列表、小图标和报表视图中,可用小图标代表 ListItem 对象。在这三种视图下,都由一个 ImageList 控件(由 SmallIcons 属性指定)提供图象。在设计时或运行时,将 SmallIcons 属性设置为 ImageList 控件即可提供这些图象。在设计时,用 ListView 控件的“属性页”对话框,可将 SmallIcons 设置为 ImageList。在运行时,可使用下面的代码:

ListView1.SmallIcons = imlSmallIcons

但是在图标视图下,该控件使用第二个 ImageList 控件提供一套不同的图象。在设计时用“属性页”对话框,可将 Icons 属性设置为这第二个 ImageList 控件,或在运行时使用下面的代码:

ListView1.Icons = imlIcons

注意 所用图标的大小由 ImageList 控件决定。可用的大小为 16 x 16、32 x 32、48 x 48 和自定义大小。要得到有关 ImageList 控件的详细说明,请参阅 “ImageList 控件”。

如果计划使用多种视图,并且显示图象,就必须为每个 ListItem 对象设置 SmallIcon 和 Icon 属性。下面的代码首先声明了 ListItem 类型的对象变量,然后将该对象变量设置为用 Add 方法添加到集合的一个 ListItem 对象。最后用对象变量引用设置 SmallIcon 和 Icon 图象:

Dim itmX as ListItem
Set itmX = ListView1.ListItems.Add()
'假设在设置给 SmallIcons 属性的 ImageList 中
'存在一幅名为“smallBook”的图象。
itmX.SmallIcon = "smallBook"
'假设在设置给 Icons 属性的 ImageList 中
'存在一幅名为“BigBook”的图象。
itmX.Icon = "BigBook"

将图象设置到 SmallIcon 和 Icon 属性之后,在用 View 属性切换视图时,就能够自动显示正确的图象了。

在报表视图中显示 ColumnHeaders
报表视图的一个特色是它的 ColumnHeader 对象。ListView 控件在 ColumnHeaders 集合中包含了一个 ColumnHeader 对象的集合。

ColumnHeader

ColumnHeader 对象有 Text 属性,该属性在该控件处于报表视图时显示文本。还可设置每个 ColumnHeader 的 Width 属性,以及 Alignment 属性(它设置了 ColumnHeader 对象中显示文本的对齐方式)。在下面的示例代码中创建了四个 ColumnHeader 对象,并设置了它们的 Text 和 Width 属性:

Dim colX As ColumnHeader '声明变量。
Dim intX as Integer '计数器变量。
For intX = 1 to 4
Set colX = ListView1.ColumnHeaders.Add()
colX.Text = "Field " & intX
colX.Width = ListView1.Width / 4
Next intX

用ListSubItems 集合设置列文本
请注意在除报表视图以外的其它视图中,ListItem 对象只显示一个标签,即 Text 属性。但在报表视图下,每个 ListItem 对象可以有多个其它的文本项。例如,除了书名《Hitchhiker's Guide to Visual Basic...》以外,还有一个作者 ("Vaughn, William R.")、年代 (1996),以及 ISBN 号与其相关。所有这些文本项都是 ListSubItems 集合的成员。为创建 ListSubItem 对象,对 ListSubItems 集合使用 Add 方法这样,要设置 ListItem 对象的作者、年代和 ISBN 号,代码可能应如下面所示那样:

'该控件的名称为 lvwAuthors。
lvwAuthor.ListItems(23).ListSubItems.Add , , _
"Hitchhiker's Guide to Visual Basic and SQL Server"
lvwAuthor.ListItems(23).ListSubItems.Add , , _
"Vaughn, William R."
lvwAuthor.ListItems(23).ListSubItems.Add , , "1996"
lvwAuthor.ListItems(23).ListSubItems.Add , , " 1-55615-906-4"
注意 Visual Basic versions 4.0 和 5.0 中使用的 ListItems 字符串数组已经被ListSubItems 集合取代了。

SubItems 取决于 ColumnHeaders 的出现
ListSubItem 是否存在,以及其数目都取决于 ColumnHeader 对象是否存在、及其数目。也就是说,如果没有 ColumnHeader 对象,就不能创建任何 ListSubItem 对象。进一步说,ColumnHeader 对象的数目,决定了可为 ListItem 对象设置的 ListSubItem 对象的数目。ListSubItem 的数目总是比 ColumnHeader 对象的数目少。这是因为第一个 ColumnHeader 对象总是与 ListItem 对象的 Text 属性相关联,以下所示:

第一个 ColumnHeader 和 SubItems

这样如果上例中 ColumnHeader 对象的数目为 4,则可设置的 ListSubItems 集合的至多为 3。
参考技术A listview

部件——microsoft windows common controls 6.0

可以到网上搜索一下关于他的教程!
参考技术B 第一个 ColumnHeader 和 SubItems

以上是关于请问VB6中ListView控件如何和数据库绑定,比如说ADODC控件的主要内容,如果未能解决你的问题,请参考以下文章

vb6.0用sql语句更新数据后listview控件数据怎么

vb6加载时提示出错,窗体log文件中错误信息为:控件 XX 的类 MSComctlLib.ListView 不是一个已加载的控件类。

VB控件问题

WPF如何获得ListView内各单元格控件

如何有条件地更改数据绑定 WPF ListView 的 CellTemplate 中控件的属性?

VB6.0的winsock控件用UDP局域网广播数据,当数据很大时接收方报10040--数据包太大,请问怎么处理。