Foxtable(狐表)用户栏目专家坐堂 → 空值列隐藏


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

主题:空值列隐藏

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


加好友 发短信
等级:幼狐 帖子:93 积分:1029 威望:0 精华:0 注册:2018/4/28 23:27:00
空值列隐藏  发帖心情 Post By:2018/5/14 17:02:00 [只看该作者]

求助各位老师:
我做了一个订单结算窗口,绑定订单表,绑定表属性为副本,
在绑定表设计了显示列,想在列名为:高、宽、左宽等列进行空值隐藏,
看了文件帮助,但不知道怎么改下面的窗口事件afterload代码。

For Each c As Col In Tables("订单结算_table1").Cols
    Dim fdr As DataRow = c.Table.DataTable.Find(c.name & " is not null")
    If fdr IsNot Nothing Then
        c.Visible = True
    Else
        c.Visible = False
    End If
Next

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/5/14 17:10:00 [只看该作者]


For Each c As Col In Tables("订单结算_table1").Cols
    Select Case c.name
        Case "高", "宽", "左宽"
            Dim fdr As DataRow = c.Table.DataTable.Find(c.name & " is not null")
            If fdr IsNot Nothing Then
                c.Visible = True
            Else
                c.Visible = False
            End If
    End Select
Next

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


加好友 发短信
等级:幼狐 帖子:93 积分:1029 威望:0 精华:0 注册:2018/4/28 23:27:00
  发帖心情 Post By:2018/5/15 11:02:00 [只看该作者]

问题解决了,谢谢

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


加好友 发短信
等级:幼狐 帖子:93 积分:1029 威望:0 精华:0 注册:2018/4/28 23:27:00
自动编号问题  发帖心情 Post By:2018/5/15 15:26:00 [只看该作者]

甜老师:

关于自动编号的问题,我想实现一个订单编号对应一个客户,一个客户有可能有多条记录需求,
客户不变订单编号不变:
编号1     客户1     内容1
编号1     客户1     内容2
编号2     客户2     内容3
编号3     客户3     内容4
编号4     客户1     内容5

在表事件datacolchanged中采用如下代码,编号(1805FD-001)不增加,关机后编号消失,甜老师帮忙给改一下,谢谢

If e.DataCol.Name = "接单日期" Then
    If e.DataRow.IsNull("接单日期") Then
        e.DataRow("订单编号") = Nothing
    Else
        Dim d As Date = e.DataRow("接单日期")
        Dim y As Integer = d.Year
        Dim m As Integer = d.Month
        Dim Days As Integer = Date.DaysInMonth(y,m)
        Dim fd As Date = New Date(y,m,1) '获得该月的第一天
        Dim ld As Date = New Date(y,m,Days) '获得该月的最后一天
        Dim bh As String = Format(d,"yyMM") '生成编号的前6位,4位年,2位月.
        If e.DataRow("订单编号").StartsWith(bh) = False '如果编号的前6位不符
          Dim fdr As DataRow = e.DataTable.find("接单日期 = #" & e.DataRow("接单日期") & "# and 客户名称 = '" & e.DataRow("客户名称") & "' and 订单编号 is not null And [_Identify] <> " & e.DataRow("_Identify"))
            If fdr IsNot Nothing Then
                e.DataRow("订单编号") = fdr("订单编号")
            Else
                Dim max As String
                Dim idx As Integer
                max = e.DataTable.Compute("Max(订单编号)","接单日期 = #" & e.DataRow("接单日期") & "# And [_Identify] <> " & e.DataRow("_Identify")) '取得该天的最大编号
                If max > "" Then '如果存在最大编号
                    idx = CInt(max.Substring(7,3)) + 1 '获得最大编号的后三位顺序号,并加1
                Else

                    idx = 1 '否则顺序号等于1
                End If
                e.DataRow("订单编号") = bh & "FD-" & Format(idx,"000")
            End If
        End If
    End If
End If
       

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/5/15 15:35:00 [只看该作者]

没看懂你这个逻辑。如果一个用户有多条记录,应该做一个 订单表、一个订单明细表的。

 

订单表输入一行数据,在明细表那里随意再添加任意多行记录。


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


加好友 发短信
等级:幼狐 帖子:93 积分:1029 威望:0 精华:0 注册:2018/4/28 23:27:00
  发帖心情 Post By:2018/5/17 8:58:00 [只看该作者]

想多了,简单问题复杂化了,谢谢甜老师指导

 回到顶部