以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  勾选删除出错  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=129530)

--  作者:cyrollin
--  发布时间:2018/12/30 17:21:00
--  勾选删除出错
在勾选某一行删除时出错,这一行有数据。 但是勾选其他行删除没有问题。

.NET Framework 版本:2.0.50727.8937
Foxtable 版本:2018.9.9.1
错误所在事件:窗口,收据打印,Button1,Click
详细错误信息:
索引和长度必须引用该字符串内的位置。
参数名: length


全部代码:

Dim Result As DialogResult
Dim rs As List (of Row) = CurrentTable().GetCheckedRows()
If rs.count= 0 Or Tables("收据打印").Current("姓名") = Nothing
    messagebox.Show("此行为空,或者您未勾选要删除的客户.请先勾选 !","提示",MessageBoxButtons.OK,messageboxicon.warning)
    Return
End If
Dim ids As String
For Each r As Row In rs
    ids = ids & "," & r("姓名").substring(0,3)
Next
Result = MessageBox.Show("确定要删除 " & ids.Trim(",") & " ?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question)
If Result = DialogResult.Yes Then
    For Each r As Row In rs
        r.Delete()
    Next
Else
    Return
End If
[此贴子已经被作者于2018/12/30 17:57:59编辑过]

--  作者:有点甜
--  发布时间:2018/12/30 18:45:00
--  

改成

 

For Each r As Row In rs
    If r("姓名") <> nothing AndAlso r("姓名").length >= 3 Then
        ids = ids & "," & r("姓名").substring(0,3)
    End If
Next

--  作者:cyrollin
--  发布时间:2019/1/2 11:54:00
--  
就是删除姓名只有二个汉字的行出现错误, 但现在提示这样:

提示:

详细错误信息:
未将对象引用设置到对象的实例。
[此贴子已经被作者于2019/1/2 11:55:08编辑过]

--  作者:有点甜
--  发布时间:2019/1/2 12:12:00
--  
改成2楼代码绝对没问题。
--  作者:cyrollin
--  发布时间:2019/1/2 15:27:00
--  
甜, 真的不行, 不过我在所有姓名后面加了 &“ ” 一个空格, 现在没问题了。
--  作者:有点甜
--  发布时间:2019/1/2 16:16:00
--  
贴出所写完整代码。