Foxtable(狐表)用户栏目专家坐堂 → 从“级码”中提取“单位编码”


  共有16305人关注过本帖树形打印复制链接

主题:从“级码”中提取“单位编码”

帅哥哟,离线,有人找我吗?
jhxb8821
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:860 积分:5964 威望:0 精华:0 注册:2016/4/15 22:24:00
从“级码”中提取“单位编码”  发帖心情 Post By: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

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:111393 积分:567029 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By: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
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:860 积分:5964 威望:0 精华:0 注册:2016/4/15 22:24:00
关于窗口显示级码顺序问题  发帖心情 Post By:2022/3/2 10:41:00 [只看该作者]

 下载信息  [文件大小:   下载次数: ]
点击浏览该文件:级码目录树.foxdb

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

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:111393 积分:567029 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/3/2 10:51:00 [只看该作者]

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:级码目录树.zip


 回到顶部
帅哥哟,离线,有人找我吗?
jhxb8821
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:860 积分:5964 威望:0 精华:0 注册:2016/4/15 22:24:00
已解决  发帖心情 Post By:2022/3/2 13:12:00 [只看该作者]

感谢蓝老师

 回到顶部
帅哥哟,离线,有人找我吗?
jhxb8821
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:860 积分:5964 威望:0 精华:0 注册:2016/4/15 22:24:00
级码目录树自动输入问题  发帖心情 Post By: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
    

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:111393 积分:567029 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By: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
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:860 积分:5964 威望:0 精华:0 注册:2016/4/15 22:24:00
已解决  发帖心情 Post By:2022/3/2 17:11:00 [只看该作者]

谢谢

 回到顶部
帅哥哟,离线,有人找我吗?
jhxb8821
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:860 积分:5964 威望:0 精华:0 注册:2016/4/15 22:24:00
删除代码  发帖心情 Post By: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


 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:111393 积分:567029 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By: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编辑过]

 回到顶部
总数 130 1 2 3 4 5 6 7 8 9 10 下一页 ..13