以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  从“级码”中提取“单位编码”  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=175348)

--  作者:jhxb8821
--  发布时间:2022/3/1 17:43:00
--  从“级码”中提取“单位编码”
从“级码”中提取“单位编码”,比如级码为1,单位编码为01;级码为1.1.2,单位编码为010102,请老师帮我看看代码

Select e.DataCol.Name
    Case "级码"
        If e.DataRow.IsNull("级码") OrElse e.DataRow.IsNull("单位编码")=False Then
        Else
            Dim jm As String = "级码"
            Dim sr() As String = jm.split(".")
            For Each s1 As String In sr
                e.DataRow("单位编码") = s1.PadLeft(2,"0")
            Next
        End If
End Select

--  作者:有点蓝
--  发布时间:2022/3/1 20:05:00
--  
dim s as string
            For Each s1 As String In sr
                s = s  & s1.PadLeft(2,"0")
            Next
e.DataRow("单位编码") = s
        End If
[此贴子已经被作者于2022/3/1 20:05:18编辑过]

--  作者:jhxb8821
--  发布时间:2022/3/2 10:41:00
--  关于窗口显示级码顺序问题
 下载信息  [文件大小:   下载次数: ]
点击浏览该文件:级码目录树.foxdb

目前这个例子代码是正确的,但存在一个问题:上一次在窗口修改单位名称顺序后,再次打开窗口后,目录树显示单位名称的顺序错乱,若点击保存,级码就会打乱。希望下次打开窗口目录树,显示上一次修改后(保存)的结果,请问老师,怎么修改代码?

--  作者:有点蓝
--  发布时间:2022/3/2 10:51:00
--  
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:级码目录树.zip


--  作者:jhxb8821
--  发布时间:2022/3/2 13:12:00
--  已解决
感谢蓝老师
--  作者:jhxb8821
--  发布时间:2022/3/2 16:58:00
--  级码目录树自动输入问题
蓝老师,我使用下拉目录树自动输入,由于节点长度不固定,请帮我加一个判断,双击最底层节点输入
    If e.Node.Level = 1 Then \'如果单击的是第二层节点
        Dim tr As Row
        Dim dr As DataRow = e.Node.DataRow \'获取生成此节点的DataRow
        If e.Form.DropTable IsNot Nothing Then \'如果下拉窗口是从表中打开
            tr = e.Form.DropTable.Current \'获取此表的当前行
        Else \'如果下拉窗口是通过DropdownBox打开
            Dim nm As String = e.Form.DropDownBox.BindingField \'获取绑定的字段
            nm = nm.Split(".")(0) \'获取绑定的表名
            tr = Tables(nm).Current \'获取此表的当前行
        End If
        tr("单位编码") = dr("单位编码")
        tr("名称") = dr("名称")
        tr("人数") = dr("人数")
        tr("性质") = dr("性质")
        e.Form.DropDownBox.Value = tr("名称") \'这行不是多余的,省略此行,无法在表中正常使用此下拉窗口输入数据.
        e.Form.DropDownBox.CloseDropdown()
    End If
    

--  作者:有点蓝
--  发布时间:2022/3/2 17:05:00
--  
    If e.Node.nodes.count = 0 Then \'如果单击的是第二层节点
        Dim tr As Row
        Dim dr As DataRow = e.Node.DataRow \'获取生成此节点的DataRow

--  作者:jhxb8821
--  发布时间:2022/3/2 17:11:00
--  已解决
谢谢
--  作者:jhxb8821
--  发布时间:2022/3/16 16:51:00
--  删除代码
老师,帮我看看删除按钮代码,是哪里出错了?
With Tables("项目明细表").Current
    If Tables("项目明细表").Current("已报账") = True Then
        MessageBox.Show("项目已报账,你不能删除,别乱来!", "提示")
        e.Cancel = True
    Else
         Tables("项目明细表").Current.Delete
    End If
    MessageBox.show("删除成功!")
End With


--  作者:有点蓝
--  发布时间:2022/3/16 17:02:00
--  
if Tables("项目明细表").Current isnot nothing
    If Tables("项目明细表").Current("已报账") = True Then
        MessageBox.Show("项目已报账,你不能删除,别乱来!", "提示")
    Else
         Tables("项目明细表").Current.Delete
    MessageBox.show("删除成功!")
    End If
End if
[此贴子已经被作者于2022/3/16 17:02:24编辑过]