Foxtable(狐表)用户栏目专家坐堂 → 虚拟显示的代码


  共有2719人关注过本帖树形打印复制链接

主题:虚拟显示的代码

美女呀,离线,留言给我吧!
mengyun2020
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:83 积分:768 威望:0 精华:0 注册:2014/11/17 12:42:00
虚拟显示的代码  发帖心情 Post By:2015/10/26 16:21:00 [只看该作者]

图片点击可在新窗口打开查看你好,我这个里面多了两个按纽一个筛选,一个取消筛选,我想问一下,这个要怎么重新设置一下显示的代码呢?

 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/10/26 16:23:00 [只看该作者]


 回到顶部
美女呀,离线,留言给我吧!
mengyun2020
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:83 积分:768 威望:0 精华:0 注册:2014/11/17 12:42:00
  发帖心情 Post By:2015/10/26 16:27:00 [只看该作者]

Dim lvw As WinForm.ListView = e.Form.Controls("ListView1")
 Dim pg As Integer = e.Form.Controls("Label1").Text
 Dim idx1 As Integer = (pg - 1) * 5 '获取要显示的第一行
Dim idx2 As Integer =  pg * 5 - 1   '获取要显示的最末行
idx2 = Math.Min(Tables("国家").Rows.Count -1,idx2) 'idx2不能超过表的最大行数
lvw.Images.Clear() '清除之前的图片
lvw.Rows.Clear() '清除之前的行
For idx As Integer =  idx1 To  idx2
    Dim  dr As  Row = Tables("国家").Rows(idx) '根据行位置从数据表中取得对应的DataRow
     Dim vr As WinForm.ListViewRow = lvw.Rows.Add() '在ListView增加一行
    Dim Key As String = dr("图标")
     lvw.Images.AddImage(Key, Key & ".ico", Key & "48.ico") '添加代表这个国家的图标
    vr.Imagekey = key  '指定图标键值
    For Each cl As WinForm.ListViewColumn In lvw.Columns '逐列取值
        Select  Case cl.Name
            Case  "人口","面积" '如果是人口列或面积列
                vr(cl.Name) = Format(dr(cl.Name),"#,000") '则显示千位分割符号
            Case Else
                vr(cl.Name) = dr(cl.Name)
          End Select
    Next
 Next

 回到顶部
美女呀,离线,留言给我吧!
mengyun2020
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:83 积分:768 威望:0 精华:0 注册:2014/11/17 12:42:00
  发帖心情 Post By:2015/10/26 16:27:00 [只看该作者]

帮忙看一下哪错了总是出现,索引超出了数据界限

 回到顶部
美女呀,离线,留言给我吧!
mengyun2020
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:83 积分:768 威望:0 精华:0 注册:2014/11/17 12:42:00
  发帖心情 Post By:2015/10/26 16:29:00 [只看该作者]

Dim lvw As WinForm.ListView = e.Form.Controls("ListView1")
 Dim pg As Integer = e.Form.Controls("Label1").Text
 Dim idx1 As Integer = (pg - 1) * 5 '获取要显示的第一行
Dim idx2 As Integer =  pg * 5 - 1   '获取要显示的最末行
idx2 = Math.Min(Tables("国家").Rows.Count -1,idx2) 'idx2不能超过表的最大行数
lvw.Images.Clear() '清除之前的图片
lvw.Rows.Clear() '清除之前的行
For idx As Integer =  idx1 To  idx2
    Dim  dr As  Row = Tables("国家").Rows(idx) '根据行位置从数据表中取得对应的DataRow
     Dim vr As WinForm.ListViewRow = lvw.Rows.Add() '在ListView增加一行
    Dim Key As String = dr("图标")
     lvw.Images.AddImage(Key, Key & ".ico", Key & "48.ico") '添加代表这个国家的图标
    vr.Imagekey = key  '指定图标键值
    For Each cl As WinForm.ListViewColumn In lvw.Columns '逐列取值
        Select  Case cl.Name
            Case  "人口","面积" '如果是人口列或面积列
                vr(cl.Name) = Format(dr(cl.Name),"#,000") '则显示千位分割符号
            Case Else
                vr(cl.Name) = dr(cl.Name)
          End Select
    Next
 Next
在显示按纽里面添加了上面的代码,第一页,末页等所有按纽都不能用,筛选,取消筛选也不能用,总是出来索引超出了数据界线

 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/10/26 16:32:00 [只看该作者]

会不会是你的pg的值是0?不然是不会报错的。

 

弹出 idx1的值和idx2的值看看


 回到顶部
美女呀,离线,留言给我吧!
mengyun2020
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:83 积分:768 威望:0 精华:0 注册:2014/11/17 12:42:00
  发帖心情 Post By:2015/10/26 17:17:00 [只看该作者]

把代码改成帮助里面的原代码,点第一页,第二页按纽正常,可是将显示的代码换成自编的代码就出问题了,其它的按纽也都不能用了,

 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/10/26 17:42:00 [只看该作者]

怎么不行?贴出代码,或者上传具体例子。

 回到顶部