Foxtable(狐表)用户栏目专家坐堂 → 自定义窗口如何利用状态栏计算


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

主题:自定义窗口如何利用状态栏计算

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


加好友 发短信
等级:五尾狐 帖子:1030 积分:8973 威望:0 精华:0 注册:2015/8/12 16:28:00
自定义窗口如何利用状态栏计算  发帖心情 Post By:2024/11/14 10:56:00 [只看该作者]

 有自定义的独立窗口,也有主窗口的情况下。如何在systemidel实现下述计算,并显示在右下角?

Dim t As Table = CurrentTable
With t.Form
    
    If t.Form.Strips.Contains("screennotice") Then
        
        Dim it As Winform.StripItem = .Strips("状态栏").Items("screennotice")
        
        it.Text = "个数:" & t.Aggregate(AggregateEnum.Count, t.TopRow, t.LeftCol, t.BottomRow, t.RightCol) & "  累计:" & t.Aggregate(AggregateEnum.Sum, t.TopRow, t.LeftCol, t.BottomRow, t.RightCol)
    End If
End With

将上述代码放到systemidel里面,遇到主窗口就会出错。因为主窗口的T.form会报错。如何实现?



而下面的代码是OK的。但是这个代码对于独立窗口下面Strips("状态栏").Items("screennotice")不起作用。

Dim t As Table = CurrentTable
Dim str1 As String = ""
With t
    RibbonMenu.StatusBar.Message3 = ""
    If .TopRow = .BottomRow AndAlso .LeftCol = .RightCol Then
        Return
    End If
    RibbonMenu.StatusBar.Message3 = "个数:" & .Aggregate(AggregateEnum.Count, .TopRow,.LeftCol,.BottomRow,.RightCol) & "  累计:" & .Aggregate(AggregateEnum.Sum,.TopRow,.LeftCol,.BottomRow,.RightCol)
End With
RibbonMenu.StatusBar.Refresh



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


加好友 发短信
等级:超级版主 帖子:110574 积分:562760 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2024/11/14 11:00:00 [只看该作者]

Dim t As Table = CurrentTable
if t.Form is nothing 
按主窗口处理
else
按独立窗口处理
end if

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


加好友 发短信
等级:五尾狐 帖子:1030 积分:8973 威望:0 精华:0 注册:2015/8/12 16:28:00
  发帖心情 Post By:2024/11/14 11:15:00 [只看该作者]

 Dim t As Table = CurrentTable
If t.Form Is Nothing Then
    
    Dim str1 As String = ""
    With t
        RibbonMenu.StatusBar.Message3 = ""
        If .TopRow = .BottomRow AndAlso .LeftCol = .RightCol Then
            Return
        End If
        RibbonMenu.StatusBar.Message3 = "个数:" & .Aggregate(AggregateEnum.Count,.TopRow, .LeftCol, .BottomRow, .RightCol) & "  累计:" & .Aggregate(AggregateEnum.Sum, .TopRow, .LeftCol, .BottomRow, .RightCol)
    End With
    RibbonMenu.StatusBar.Refresh
Else
    With t.Form
        If .Strips("状态栏").Items.Contains("screennotice") Then
            Dim it As Winform.StripItem = .Strips("状态栏").Items("screennotice")
            
            it.Text = "个数:" & t.Aggregate(AggregateEnum.Count, t.TopRow, t.LeftCol, t.BottomRow, t.RightCol) & "  累计:" & t.Aggregate(AggregateEnum.Sum, t.TopRow, t.LeftCol, t.BottomRow, t.RightCol)
            
        End If
    End With
End If

可以用

 回到顶部