以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 索引和计数必须引用该字符串内的位置。 参数名: count (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=91497) |
-- 作者:单刀赴会 -- 发布时间:2016/10/12 10:33:00 -- 索引和计数必须引用该字符串内的位置。 参数名: count 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 -- 发布时间:2018/12/21 16:54:00 -- 同问,我也遇到这个问题 同问,我也遇到这个问题 |
-- 作者:有点甜 -- 发布时间:2018/12/21 16:55:00 -- 以下是引用zhuoshike在2018/12/21 16:54:00的发言:
同问,我也遇到这个问题
贴出你所写代码。 |
-- 作者:zhuoshike -- 发布时间:2018/12/22 9:09:00 -- 以下是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
|
-- 作者:有点蓝 -- 发布时间: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 -- 发布时间:2018/12/22 9:58:00 -- 首先谢谢版主的帮忙 按照您的代码做了 if>"" 判断 还是 不行 首先谢谢版主的帮忙 按照您的代码做了 if>"" 判断 还是 不行 |
-- 作者:有点蓝 -- 发布时间:2018/12/22 10:14:00 -- 请上传具体实例测试 |
-- 作者:zhuoshike -- 发布时间:2018/12/22 10:58:00 -- 谢谢版主 我找到问题根源了 问题根源了:vr("名称")=str.Remove(0,8) Remove(0,8) 8个字符超出了 超出了数据库表的 字符串数,实际上是才有4个字符 谢谢有点甜
|