以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  求解绘制表格Drawcell事件SubString函数问题  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=146013)

--  作者:ahui010
--  发布时间:2020/2/14 10:39:00
--  求解绘制表格Drawcell事件SubString函数问题

绘制表格Drawcell事件问题:想只显示前6个字符,执行出错,闪了一下,就中止事件执行,是不是SubString不能用到Drawcell事件?


If e.Col.Name = "表名" Then

     e.Text = e.Row("表名").SubString(1,6)
   
End If

出错信息如下:

Exception has been thrown by the target of an invocation.
startIndex cannot be larger than length of string.
Parameter name: startIndex
 
翻译之后是:
 
Startindex 不能大于 string.parameter name: startindex


图片点击可在新窗口打开查看此主题相关图片如下:qq图片20200214103354.png
图片点击可在新窗口打开查看

先出现上面的结果,后来就恢复成下面原样了。附SubString函数的帮助语法.


图片点击可在新窗口打开查看此主题相关图片如下:qq图片20200214103622.png
图片点击可在新窗口打开查看

[此贴子已经被作者于2020/2/14 10:39:35编辑过]

--  作者:有点蓝
--  发布时间:2020/2/14 10:44:00
--  
没有数据,或者表名小于7个字符就会出错。应该这样:
If e.Col.Name = "表名" Then
if e.Row.isnull("表名") = false andalso e.Row("表名").length > 6
     e.Text = e.Row("表名").SubString(1,6)
end if
   
End If

--  作者:ahui010
--  发布时间:2020/2/14 11:20:00
--  谢谢版主
谢谢版主的讲解,没有想过还有这个问题。