listview分页显示数据(listview分页加载)

listview分页显示数据(listview分页加载)

扫码添加渲大师小管家,免费领取渲染插件、素材、模型、教程合集大礼包!

分页显示在网页制作中是一件十分普遍的事情,因为在浏览一些页面的时候总不会都显示在一个页面里。

同样,在Excel工人表中,也会有分页的一中方法,只不过在表中以隐藏方式来实现分页。

listview分页显示数据(listview分页加载)

本节主要介绍内容为在vba窗体中实现分页显示数据表。

其中,运用到许多知识,包括对工作表SQL查询,以及ListView控件的添加。

这些在Excel初级应用中,通常不会用到,当然也没有必要用。

但是要想做到自由控制数据,那就是一件必然要学会的内容。

如果,有一些数据库操作技能,那么对本节的理解,还是十分容易的。

下图为显示效果:

listview分页显示数据(listview分页加载)

图中显示一出一个工作表的数据内容,下面有一些按钮,可以实现数据表上下翻页功能。

这就是说,不需要把所有的工作记录都显示出来,可以一页页地翻看,如果有几百页,那么查找起来还是有一些便捷性的。

下面重点看一下代码:

Private Sub AddListView(Lobj As Object, rsPage As Integer) Dim conn As Object Dim rs As Object Dim StrPath As String Dim StrSql As String Dim i As Integer, j As Integer Set conn = CreateObject("ADODB.Connection")'新建连接对象 Set rs = CreateObject("ADODB.RecordSet")'新建记录对象 StrPath = ThisWorkbook.FullName conn.Open "Provider=Microsoft.ACE.OLEDB.12.0;" & "Extended Properties=Excel 12.0;" _ & "Data Source=" & StrPath'打开连接对象 StrSql = "SElECT * FROM [" & xSheet & "$]"'查询工作表语句 rs.Open StrSql, conn, 1, 1 rs.pagesize = 20 '设置每页显示记录数 rs.absolutepage = rsPage '设置当前页数 Lobj.ColumnHeaders.Clear For i = 0 To rs.Fields.Count - 1 Lobj.ColumnHeaders.Add , , rs.Fields(i).Name Next i With Lobj .ListItems.Clear For i = 1 To rs.pagesize 'rs.RecordCount If rs.EOF Then Exit For .ListItems.Add , , rs.Fields(0).Value For j = 1 To rs.Fields.Count - 1 If VBA.Len(rs.Fields(j).Value) <> 0 Then .ListItems(i).SubItems(j) = rs.Fields(j).Value'添加ListView数据 End If Next j rs.movenext '下一记录 Next i End With rs.Close conn.Close Set rs = Nothing Set conn = NothingEnd Sub

代码中应用了Recordset 对象,ADO Recordset 对象用于容纳一个来自数据库表的记录集,示例中用来存放工作表的记录集。

还有一个Connection对象,ADO Connection 对象用于创建一个到达某个数据源的开放连接,也就是和数据表建立链接的对象。

至于这两个对象是如何工作的,并不需要了解,因为它已经做好一切,只需要合理地运用对象的方法即可。

以后会专门来介绍关于ADO对象的使用方法。

按钮代码如下所示:

Private Sub 第一页()Dim x As IntegerIf Not VBA.IsNumeric(Me.TextBox1.Value) Then Exit Subx = Me.TextBox1.ValueIf x = 1 Then MsgBox "已经是第一页", vbInformation, "提示" Exit SubElse AddListView Me.ListView1, 1 '刷新ListView Me.TextBox1.Value = 1End IfEnd SubPrivate Sub 下一页()Dim x As IntegerIf Not VBA.IsNumeric(Me.TextBox1.Value) Then Exit Subx = Me.TextBox1.Value If x = 1 Then MsgBox "已经是第一页", vbInformation, "提示" Exit Sub End Ifx = x - 1If x >= 1 And x <= xCount Then AddListView Me.ListView1, x '刷新ListView Me.TextBox1.Value = xElse Me.TextBox1.Value = 1End IfEnd Sub

实现上下翻页功能之后,就不用再为一个工表,全部加载到LIstView页烦恼了。

利用工具实现数据的有规律组合,这就是我们要达到的最简单的目的。

分享到 :
相关推荐

巴拿马云服务器好在哪

巴拿马是中美洲划分北南美洲的国家。其历史可追溯至公元前。于1513年。哥伦布的助手到...

使用日本服务器的优势有哪些

使用日本服务器的优势有:1。日本的服务器有充足的带宽资源且服务器的PING值速度很快...

北京服务器托管怎么样(北京服务器托管怎么样收费)

北京服务器托管的优势有:1。安全性高。比如选择共享主机时。会针对不同用户分配不同权限...

租用网站服务器时,决定配置的主要因素有哪些(租用网站服务器时,决定配置的主要因素有哪些)

租用网站服务器时。决定配置的主要因素有哪些?在租赁网站网络服务器的情况下。我们最开始...

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注