Foxtable(狐表)用户栏目专家坐堂 → 怎样写代码


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

主题:怎样写代码

帅哥哟,离线,有人找我吗?
欧洲之巅
  51楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:58 积分:378 威望:0 精华:0 注册:2015/11/22 17:40:00
  发帖心情 Post By:2015/11/27 20:14:00 [只看该作者]

狐表是否可以一次增加10000行,请指教。

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


加好友 发短信
等级:九尾狐 帖子:2927 积分:20161 威望:0 精华:0 注册:2012/2/3 17:45:00
  发帖心情 Post By:2015/11/27 20:21:00 [只看该作者]

StopRedraw

e.DataTable.AddNew(10000)


StopRedraw

我们对表做的任何变动,例如编辑数据、增加行、删除行、调整行高列宽,都会导致Table重新绘制,以便显示变动后的结果。
如果要对DataTable连续地进行大量的操作,为了避免相关Table(表)不停地闪烁,可以先执行StopRedraw方法禁止绘制表,操作完成后再执行ResumeRedraw方法重新绘制表。
StopRedraw方法会禁止绘制所有基于该DataTable的Table,直到执行ResumeRedraw方法恢复绘制。

例如我们要在订单表中增加500行,代码如下:

With DataTables("订单")
    .StopRedraw
   
For i As Integer = 1 To 500
        .AddNew()
   
Next
    .ResumeRedraw

End
With

注意最后一定要记得执行ResumeRedraw方法,否则表格不会再刷新。

如果你将代码修改为:

With DataTables("订单")
   
For i As Integer = 1 To 500
        .AddNew()
   
Next
End
With

你可以看到代码执行过程中会不停地闪烁,而且执行速度也比之前慢很多。

StopRedraw和ResumeRedraw必须配对执行,如果执行了两次StopRedraw,那么对应的就必须执行两次ResumeRedraw,才会恢复绘制Table。

上面的代码只是用于演示,实际上增加500行最简单的代码是:

DataTables("订单").AddNew(500)

[此贴子已经被作者于2015/11/27 20:22:22编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
欧洲之巅
  53楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:58 积分:378 威望:0 精华:0 注册:2015/11/22 17:40:00
  发帖心情 Post By:2015/11/27 20:23:00 [只看该作者]

代码输入到哪里啊

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


加好友 发短信
等级:九尾狐 帖子:2927 积分:20161 威望:0 精华:0 注册:2012/2/3 17:45:00
  发帖心情 Post By:2015/11/27 20:28:00 [只看该作者]

不是 button 控件中?

Tables("表A").StopRedraw

Tables("表A").AddNew(500)

Tables("表A").ResumeRedraw()

[此贴子已经被作者于2015/11/27 20:32:35编辑过]

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/11/27 20:35:00 [只看该作者]

做按钮,或者执行命令

 

http://www.foxtable.com/help/topics/0213.htm

 


 回到顶部
帅哥哟,离线,有人找我吗?
欧洲之巅
  56楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:58 积分:378 威望:0 精华:0 注册:2015/11/22 17:40:00
  发帖心情 Post By:2015/11/28 15:43:00 [只看该作者]

.NET Framework 版本:2.0.50727.5485
Foxtable 版本:2014.11.11.1
错误所在事件:表,五百万,DataColChanged
详细错误信息:
调用的目标发生了异常。
从字符串“”到类型“Double”的转换无效。
输入字符串的格式不正确。



是什么意思啊


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


加好友 发短信
等级:狐神 帖子:5015 积分:25363 威望:0 精华:0 注册:2015/8/18 9:21:00
  发帖心情 Post By:2015/11/28 16:18:00 [只看该作者]

赋值的时候判断一下,出现了空字符串,如 if s > "" then

 回到顶部
帅哥哟,离线,有人找我吗?
欧洲之巅
  58楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:58 积分:378 威望:0 精华:0 注册:2015/11/22 17:40:00
  发帖心情 Post By:2015/11/28 16:26:00 [只看该作者]

我的公式很长啊。要每个检验吗?   如 if s > ""     then    空的多算不算空字符串啊


 回到顶部
帅哥哟,离线,有人找我吗?
欧洲之巅
  59楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:58 积分:378 威望:0 精华:0 注册:2015/11/22 17:40:00
  发帖心情 Post By:2015/11/28 16:30:00 [只看该作者]

狐表的项目可以备份吗?可以的话是在哪里备份啊。请说明一下

 回到顶部
帅哥哟,离线,有人找我吗?
欧洲之巅
  60楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:58 积分:378 威望:0 精华:0 注册:2015/11/22 17:40:00
  发帖心情 Post By:2015/11/28 16:55:00 [只看该作者]

If e.DataCol.Name = "比分"  Then
    Dim ary() As String = e.DataRow("比分").split(":")
    If ary.length = 1 Then
           Else
        Dim d1 As Double = val(ary(0))
        Dim d2 As Double = val(ary(1))
        If d1 - d2 > e.DataRow("终盘1") AndAlso e.DataRow("终盘1") >= 0 AndAlso e.DataRow("终盘1") <> 0.75 AndAlso e.DataRow("终盘1") <> 1.75 AndAlso e.DataRow("终盘1") <> 2.75 AndAlso e.DataRow("终盘1") <> 3.75 AndAlso e.DataRow("终盘1") <> 4.75 AndAlso e.DataRow("终盘1") <> 5.75 AndAlso e.DataRow("终盘1") <> 6.75  AndAlso e.DataRow("终盘1") <> 7.75 AndAlso e.DataRow("终盘1") <> 8.75 AndAlso e.DataRow("终盘1") <> 9.75 Then
            e.DataRow("盘口") = "赢盘"  
        ElseIf d1 - d2 > e.DataRow("终盘1") AndAlso e.DataRow("终盘1") < 0  AndAlso e.DataRow("终盘1") <> -0.25 AndAlso e.DataRow("终盘1") <> -1.25 AndAlso e.DataRow("终盘1") <> -2.25 AndAlso e.DataRow("终盘1") <> -3.25  AndAlso e.DataRow("终盘1") <> -4.25 AndAlso e.DataRow("终盘1") <> -5.25 AndAlso e.DataRow("终盘1")  <> -6.25 AndAlso e.DataRow("终盘1") <> -7.25 AndAlso e.DataRow("终盘1") <> -8.25 AndAlso e.DataRow("终盘1") <> -9.25 Then
           e.DataRow("盘口") = "输盘"  
        End If
    End If
End If


帮忙看一下是哪里空子符。我检查不出啊。

 回到顶部
总数 91 上一页 1 2 3 4 5 6 7 8 9 10 下一页