Foxtable(狐表)用户栏目专家坐堂 → 索引和计数必须引用该字符串内的位置。 参数名: count


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

主题:索引和计数必须引用该字符串内的位置。 参数名: count

帅哥哟,离线,有人找我吗?
单刀赴会
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:9 积分:185 威望:0 精华:0 注册:2016/3/19 16:32:00
索引和计数必须引用该字符串内的位置。 参数名: count  发帖心情 Post By:2016/10/12 10:33:00 [只看该作者]



For Intxh = 0 To tblmtskjl.Rows.Count - 1 Step 1

在winxp 下运行没有报错,win10下运行报错,索引和计数必须引用该字符串内的位置。
参数名: count。不知为什么?

刚才看了一下,不是Count引起的错误,是循环里的判断时间的条件错误,winxp下时间的格式是00:00:00,win10下是0:00:00。

[此贴子已经被作者于2016/10/12 10:58:11编辑过]

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


加好友 发短信
等级:婴狐 帖子:36 积分:873 威望:0 精华:0 注册:2015/4/28 8:35:00
同问,我也遇到这个问题  发帖心情 Post By:2018/12/21 16:54:00 [只看该作者]

同问,我也遇到这个问题

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/12/21 16:55:00 [只看该作者]

以下是引用zhuoshike在2018/12/21 16:54:00的发言:
同问,我也遇到这个问题

 

贴出你所写代码。


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


加好友 发短信
等级:婴狐 帖子:36 积分:873 威望:0 精华:0 注册:2015/4/28 8:35:00
  发帖心情 Post By:2018/12/22 9:09:00 [只看该作者]


图片点击可在新窗口打开查看此主题相关图片如下:qq截图20181222090347.png
图片点击可在新窗口打开查看
大神指点,出现这个问题,找不到根源

以下是table2 的CurrentChange事件
测试出错的是这一句:“For Each dr As Row In Tables("ProductionOrder_Table2").Rows '从数据表中提取数据 

If e.Table.Current Is Nothing Then '如果Current为Nothing
 e.Table.Position = 0 
 '则焦点移动为0
Else 
Dim lvw As WinForm.ListView = e.Form.Controls("ListView1")
lvw.StopRedraw() '停止绘制
lvw.Groups.Clear()
lvw.Columns.Clear() '清除原来的列
lvw.Rows.Clear() '清除原来的行
lvw.Images.Clear() '清除原来的图片
lvw.View = ViewMode.Tile '显示模式为 大图标
lvw.Images.LargeSize = New Size(172,185) '定义大图标尺寸
lvw.TitleSize = New Size(320,186) '设置平铺区域的大小 
Dim fnt As New Font("宋体", 13, FontStyle.Bold) '定义字体
lvw.Font = fnt
lvw.ForeColor = Color.Blue  '定义前景色
Dim cls() As String = {"规格","图号","颜色","bom备注","名称"} '定义列名 
For i As Integer = 0 To  cls.Length - 1  '增加列 
    Dim c As WinForm.ListViewColumn = lvw.Columns.Add() 
    c.Name = cls(i) '指定列名  
Next

Dim s As Integer =0
Dim str As String
Dim Key As String
For Each dr As Row In Tables("ProductionOrder_Table2").Rows '从数据表中提取数据 
       If dr("图片") IsNot Nothing Then 
        Key=dr("图片")
       Else Key =""
       End If

    Dim vr As  WinForm.ListViewRow =  lvw.Rows.Add() '增加一行
          vr.ToolTipText = dr("名称")  '设置此行的动态提示
         lvw.Images.AddImage(Key,Key,Key)
         vr.ImageKey = Key '指定图标键值
         For Each cl As String In cls '逐列取值
          If cl="名称" Then  
           str=dr("名称")
           vr("名称")=str.Remove(0,8)
          Else vr(cl) = dr(cl)
          End If
         Next
   vr.Tag= dr '将DataRow赋值给ListViewRow的Tag属性,将二者联系起来
Next

lvw.ResumeRedraw() '恢复绘制
End If

 回到顶部
帅哥,在线噢!
有点蓝
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110579 积分:562791 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2018/12/22 9:41:00 [只看该作者]

For Each dr As Row In Tables("ProductionOrder_Table2").Rows '从数据表中提取数据
    If dr("图片") IsNot Nothing Then
        Key=dr("图片")
    Else Key =""
    End If
    
    Dim vr As  WinForm.ListViewRow =  lvw.Rows.Add() '增加一行
    vr.ToolTipText = dr("名称")  '设置此行的动态提示
    If key > "" Then
        lvw.Images.AddImage(Key,Key,Key)
        vr.ImageKey = Key '指定图标键值
    End If
    For Each cl As String In cls '逐列取值
        If cl="名称" Then
            str=dr("名称")
            If str.length >=8 Then
                vr("名称")=str.Remove(0,8)
            End If
        Else vr(cl) = dr(cl)
        End If
    Next
    vr.Tag= dr '将DataRow赋值给ListViewRow的Tag属性,将二者联系起来
Next

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


加好友 发短信
等级:婴狐 帖子:36 积分:873 威望:0 精华:0 注册:2015/4/28 8:35:00
首先谢谢版主的帮忙 按照您的代码做了 if>"" 判断 还是 不行  发帖心情 Post By:2018/12/22 9:58:00 [只看该作者]

首先谢谢版主的帮忙 按照您的代码做了 if>"" 判断 还是 不行

 回到顶部
帅哥,在线噢!
有点蓝
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110579 积分:562791 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2018/12/22 10:14:00 [只看该作者]

请上传具体实例测试

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


加好友 发短信
等级:婴狐 帖子:36 积分:873 威望:0 精华:0 注册:2015/4/28 8:35:00
谢谢版主 我找到问题根源了  发帖心情 Post By:2018/12/22 10:58:00 [只看该作者]

问题根源了:vr("名称")=str.Remove(0,8)

Remove(0,8)  8个字符超出了 超出了数据库表的 字符串数,实际上是才有4个字符

谢谢有点甜

 回到顶部