以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [求助]完善任务栏代码  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=159862)

--  作者:老鼠
--  发布时间:2021/1/11 22:19:00
--  [求助]完善任务栏代码
\'----------------------------定义住院科室分类栏---------------------------------
Dim fll As WinForm.TopicBar = Forms("主窗体").Controls("TopicBar1")
Dim a As WinForm.TopicPage = fll.Pages("住院科室")
a.Links.Clear    \'清除之前的link项目
For Each lb As String In DataTables("基本信息").GetComboListString("名称","类别 = \'住院科室\'","_Identify").Split("|")
    Dim k As String = new String (" ",20-lb.Length*2)   \'定义k的空格字符串
    a.Links.Add(lb,lb & k  & "(" & DataTables("病案信息").Compute("count(_identify)"," 住院科室 = \'" & lb & "\'") & "人)"  )
Next
\'----------------------------定义经治医生分类栏---------------------------------
Dim b As WinForm.TopicPage = fll.Pages("经治医生")
b.Links.Clear    \'清除之前的link项目
For Each gw As String In DataTables("基本信息").GetComboListString("名称","类别 = \'经治医生\'","_Identify").Split("|")
    Dim k3 As String = new String (" ",20-gw.Length*2)   \'定义k3的空格字符串,
    b.Links.Add(gw,gw & k3  & "(" & DataTables("病案信息").Compute("count(_identify)","经治医生 = \'" & gw & "\'") & "人)"  )
Next
\'----------------------------定义疾病诊断分类栏---------------------------------
Dim c As WinForm.TopicPage = fll.Pages("出院诊断")
c.Links.Clear    \'清除之前的link项目
For Each xl As String In DataTables("基本信息").GetComboListString("名称","类别 = \'疾病诊断\'","_Identify").Split("|")
    Dim k1 As String = new String (" ",20-xl.Length*2)   \'定义k1的空格字符串
    c.Links.Add(xl,xl & k1  & "(" & DataTables("病案信息").Compute("count(_identify)","\',\'+出院诊断+\',\' like \'%," & xl & ",%\'") & "人)"  )
Next

以上是任务栏现有代码,但当我录入字符长度大于设置字符长度时,报借!

图片点击可在新窗口打开查看此主题相关图片如下:20210111.png
图片点击可在新窗口打开查看
这是报借窗口。
请问如何解决这一问题呢?



--  作者:老鼠
--  发布时间:2021/1/11 22:23:00
--  
在不改变现有任务栏状态的情况下,是不是只有设定名称列长度才能解决呢?


--  作者:有点蓝
--  发布时间:2021/1/11 22:43:00
--  
换种用法
PadLeft在字符串左侧填充空格或指定的字符,使得字符串的长度达到指定的长度
PadRight在字符串右侧填充空格或指定的字符,使得字符串的长度达到指定的长度