以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]重置列  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=87406)

--  作者:江南小城
--  发布时间:2016/7/11 9:42:00
--  [求助]重置列
老师好,当我重置其中商品名称和规格列时下面代码报错

Select Case  e.DataCol.Name
Case "客户名称","商品名称","规格"
Dim n1 As Integer
Dim Lms,py,jps As  String
Dim jps1 As New List(Of String)

Lms ="客户名称|商品名称|规格"
For Each py  In Lms.split("|")
If  py =e.DataCol.Name Then
 Exit For
 End If
 n1+=1
 Next
If e.DataRow.Isnull(e.DataCol.Name) Then
py  ="@|#|$".split("|")(n1)
 Else
 py = GetPY(e.DataRow(e.DataCol.Name),True)
End If

jps1.AddRange(e.DataRow("简拼").split("|"))
jps1.Insert(n1,py)
jps1.RemoveAt(n1+1)

 For Each py  In jps1
jps+=py & "|"
Next
 e.DataRow("简拼") = jps.trim("|")
End Select

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



--  作者:大红袍
--  发布时间:2016/7/11 10:11:00
--  

还不如重新生成

 

Select Case  e.DataCol.Name
    Case "客户名称","商品名称","规格"
        Dim str As String
        Dim ary1() As String = {"客户名称","商品名称","规格"}
        dim ary2() as string = {"@","#","$"}
        For i As Integer = 0 To ary1.Length -1
            If e.DataRow.IsNull(ary1(i)) = False Then
                str = str & GetPY(e.DataRow(ary1(i)),True) & "|"
            Else
                str = str & ary2(i) & "|"
            End If
        Next
        msgbox(str.trim("|"))
End Select


--  作者:江南小城
--  发布时间:2016/7/11 10:48:00
--  
老师,怎样把字母给单元格
--  作者:大红袍
--  发布时间:2016/7/11 10:52:00
--  

汗,你这样照抄人家的代码真的好吗?

 

e.DataRow("简拼") = str.trim("|")


--  作者:江南小城
--  发布时间:2016/7/11 11:00:00
--  
老师,我搞错了行没有数据,现在好了。谢谢。