Foxtable(狐表)用户栏目专家坐堂 → 值对于Decimal太大或太小


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

主题:值对于Decimal太大或太小

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


加好友 发短信
等级:六尾狐 帖子:1490 积分:9656 威望:0 精华:0 注册:2014/12/18 16:12:00
值对于Decimal太大或太小  发帖心情 Post By:2018/4/28 10:47:00 [只看该作者]

当我在打印excel报表时,会出现"值对于Decimal太大或太小"的警告。现在的问题是,用同样一个报表打印同样一个数据表,打印某些数据行时会出现这个警告,而打印另外一些数据行时又不会出现这个警告。这是为什么?


图片点击可在新窗口打开查看此主题相关图片如下:值对于decimal太大或太小.jpg
图片点击可在新窗口打开查看


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


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

你systemIdle事件写了什么代码?你选中后统计的代码,要把字符列弄掉

 

http://www.foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=82211&skin=0

 


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


加好友 发短信
等级:六尾狐 帖子:1490 积分:9656 威望:0 精华:0 注册:2014/12/18 16:12:00
  发帖心情 Post By:2018/4/28 14:19:00 [只看该作者]

我的systemIdle里面只有如下代码:

With CurrentTable
    Dim Str1 As String = "当前用户: " & User.Name
    StatusBar.Message1 = Str1
End With

这样有影响吗?

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


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

去【菜单设计】那里的 systemIdle 事件看一下。

 

如果什么代码都没有,就引用系统菜单后修改 http://www.foxtable.com/webhelp/scr/1079.htm

 

[此贴子已经被作者于2018/4/28 14:24:56编辑过]

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


加好友 发短信
等级:六尾狐 帖子:1490 积分:9656 威望:0 精华:0 注册:2014/12/18 16:12:00
  发帖心情 Post By:2018/4/28 16:16:00 [只看该作者]

【菜单设计】那里的 systemIdle 事件有如下代码,但是不知道哪段代码影响了我的运作,如何修改?


If CurrentTable Is Nothing Then
    Return
End If

'此段代码用于更新日常工作区"整行"按钮的状态,,如果按钮已经改名或者移到别的功能区,请对应地修改此段代码
'如果删除了此按钮,应该删除此段代码
Static lm As RibbonMenu.ToggleButton
If lm Is Nothing Then
    lm = RibbonTabs("Common").Groups("Edit").Items("ListMode")
End If
If lm.Pressed <> CurrentTable.ListMode Then
    lm.Pressed = CurrentTable.ListMode
End If

'此段代码用于更新日常工作区"切换"按钮的状态,如果按钮已经改名或者移到别的功能区,请对应地修改此段代码
'如果删除了此按钮,应该删除此段代码
Static tb As RibbonMenu.ToggleButton
If tb Is Nothing Then
    tb = CType(RibbonTabs("Common").Groups("SortAndFilter").Items("Toggle"), RibbonMenu.ToggleButton)
End If
If (CurrentTable.Filter > "" AndAlso CurrentTable.ApplyFilter = True) OrElse (CurrentTable.Sort > "" AndAlso CurrentTable.ApplySort = True) OrElse (CurrentTable.IsRelation = False AndAlso CurrentTable.DataTable.InBackEndFilterMode = True) Then
    If tb.Pressed = False Then
        tb.Pressed = True
    End If
Else
    If tb.Pressed = True Then
        tb.Pressed = False
    End If
End If

'此段代码用于更新配置栏"后台筛选"按钮的状态,如果按钮已经改名或者移到别的功能区,请对应地修改此段代码
'如果删除了此按钮,应该删除此段代码
Static bf As RibbonMenu.ToggleButton
If bf Is Nothing Then
    bf = CType(ConfigBar.Items("BackEndFilter"), RibbonMenu.ToggleButton)
End If
If CurrentTable.AllowBackEndFilter Then
    If bf.Pressed = False Then
        bf.Pressed = True
    End If
Else
    If bf.Pressed
        bf.Pressed = False
    End If
End If

'此段代码用于决定日常工作功能区的"筛选"按钮是否可用,如果按钮已经改名或者移到别的功能区,请对应地修改此段代码
'如果删除了此按钮,应该删除此段代码
Static fm As RibbonMenu.MenuButton
If fm Is Nothing Then
    fm = CType(RibbonTabs("Common").Groups("SortAndFilter").Items("Filter"), RibbonMenu.MenuButton)
End If
If CurrentTable.Position < 0 OrElse CurrentTable.ColSel < 0 Then 
    If fm.Enabled Then
        fm.Enabled = False
    End If
Else
    If Not fm.Enabled Then
        fm.Enabled = True
    End If
End If

'以下代码用于更新管理项目功能区"暂停计划"按钮的状态,如果按钮已经改名或者移到别的功能区,请对应地修改此段代码
'如果删除此按钮,也应该删除此段代码
Static tp As RibbonMenu.ToggleButton
If tp Is Nothing Then
    tp = CType(RibbonTabs("Project").Groups("Timers").Items("Pause"), RibbonMenu.ToggleButton)
End If
If Mytimers.Pause Then
    If tp.Pressed = False Then tp.Pressed = True
Else
    If tp.Pressed  Then tp.Pressed = False
End If

'以下代码用于更新配置栏"查阅模式"按钮的状态,如果按钮已经改名或者移到别的功能区,请对应地修改此段代码
'如果删除此按钮,也应该删除此段代码
Static bm As RibbonMenu.ToggleButton
If bm Is Nothing Then
    bm = Ctype(ConfigBar.Items("BrowseMode"),RibbonMenu.ToggleButton)
End If
If DataTables.AllowEdit Then
    If bm.Pressed Then bm.Pressed = False
Else
   If bm.Pressed =False Then bm.Pressed = True
End If


'以下代码用于更新配置栏"记录窗口"按钮的状态,如果按钮已经改名或者移到别的功能区,请对应地修改此段代码
'如果删除此按钮,也应该删除此段代码
Static rw As RibbonMenu.ToggleButton
If rw Is Nothing Then
    rw = Ctype(ConfigBar.Items("RecordWindow"),RibbonMenu.ToggleButton)
End If
If CurrentTable.RecordGridVisible Then
    If rw.Pressed =False Then rw.Pressed = True
Else
   If rw.Pressed Then rw.Pressed = False
End If

'以下代码用于更新快速访问栏中的"撤销"和"重做"按钮的状态,如果按钮已经改名或者移到别的功能区,请对应地修改此段代码
'如果删除了这两个按钮,也应该删除此段代码
Static Undo As RibbonMenu.Button
Static Redo As RibbonMenu.Button
If Undo Is Nothing Then
    Undo = QAT.Items("Undo")
    Redo = QAT.Items("Redo")
End If
If CurrentTable.CanUndo Then
    If Undo.Enabled = False Then Undo.Enabled = True
Else
    If Undo.Enabled  Then Undo.Enabled = False
End If
If CurrentTable.CanRedo Then
    If Redo.Enabled = False Then Redo.Enabled = True
Else
    If Redo.Enabled Then Redo.Enabled = False
End If

Dim t As Table = CurrentTable



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


加好友 发短信
等级:六尾狐 帖子:1490 积分:9656 威望:0 精华:0 注册:2014/12/18 16:12:00
  发帖心情 Post By:2018/4/28 16:17:00 [只看该作者]

还有如下代码:

'以下代码用于在状态栏显示自动计算结果,如果不需要自动计算,可删除这一段
If Vars("SysUpdateAggregate") 
    If Windows.Forms.Control.MouseButtons <> Windows.Forms.MouseButtons.None OrElse Windows.Forms.Control.ModifierKeys <> Windows.Forms.Keys.None Then
        Return
    End If
    Dim Str1 As String = ""
    Vars("SysUpdateAggregate") = False
    With RibbonTabs("Other").Groups("Aggregate")
        With CType(.Items("Aggregate"), RibbonMenu.ToggleButton)
            If .Pressed = False Then
                Return
            End If
        End With
        If CType(.Items("Count"), RibbonMenu.CheckBox).Checked Then
            Str1 = Str1 & "计数:" & t.Aggregate(AggregateEnum.Count, t.TopRow, t.LeftCol, t.BottomRow, t.RightCol) & " "
        End If
        If CType(.Items("Sum"), RibbonMenu.CheckBox).Checked Then
            Str1 = Str1 & "累计:" & t.Aggregate(AggregateEnum.Sum, t.TopRow, t.LeftCol, t.BottomRow, t.RightCol) & " "
        End If
        If CType(.Items("Average"), RibbonMenu.CheckBox).Checked Then
            Str1 = Str1 & "平均:" & t.Aggregate(AggregateEnum.Average, t.TopRow, t.LeftCol, t.BottomRow, t.RightCol) & " "
        End If
        If CType(.Items("Max"), RibbonMenu.CheckBox).Checked Then
            Str1 = Str1 & "最大:" & t.Aggregate(AggregateEnum.Max, t.TopRow, t.LeftCol, t.BottomRow, t.RightCol) & " "
        End If
        If CType(.Items("Min"), RibbonMenu.CheckBox).Checked Then
            Str1 = Str1 & "最小:" & t.Aggregate(AggregateEnum.Min, t.TopRow, t.LeftCol, t.BottomRow, t.RightCol) & " "
        End If
        With CType(.Items("Other"), RibbonMenu.MenuButton)
            If CType(.Items("Std"), RibbonMenu.ToggleButton).Pressed Then
                Str1 = Str1 & "标准差:" & t.Aggregate(AggregateEnum.Std, t.TopRow, t.LeftCol, t.BottomRow, t.RightCol) & " "
            End If
            If CType(.Items("StdPop"), RibbonMenu.ToggleButton).Pressed Then
                Str1 = Str1 & "总体标准差:" & t.Aggregate(AggregateEnum.StdPop, t.TopRow, t.LeftCol, t.BottomRow, t.RightCol) & " "
            End If
            If CType(.Items("Var"), RibbonMenu.ToggleButton).Pressed Then
                Str1 = Str1 & "方差:" & t.Aggregate(AggregateEnum.Var, t.TopRow, t.LeftCol, t.BottomRow, t.RightCol) & " "
            End If
            If CType(.Items("VarPop"), RibbonMenu.ToggleButton).Pressed Then
                Str1 = Str1 & "总体方差:" & t.Aggregate(AggregateEnum.VarPop, t.TopRow, t.LeftCol, t.BottomRow, t.RightCol) & " "
            End If
        End With
    End With
    RibbonMenu.StatusBar.Message3 = Str1
End If

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


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

加上这段代码,加到最前面

 

If CurrentTable Is Nothing Then
    Return
End If

For i As Integer = CurrentTable.LeftCol To CurrentTable.RightCol
    If CurrentTable.cols(i).IsString Then
        Return
    End If
Next

 

如果还有问题,做个实例发上来测试


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


加好友 发短信
等级:六尾狐 帖子:1490 积分:9656 威望:0 精华:0 注册:2014/12/18 16:12:00
  发帖心情 Post By:2018/4/29 9:07:00 [只看该作者]

用你的方法还是存在一样的问题。我重新做了一个附件(excel报表),好像又没有问题了。

 回到顶部