以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 表格数据的交互 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=191408) |
-- 作者:puma -- 发布时间:2024/4/15 11:11:00 -- 表格数据的交互 按钮里有一个复杂的计算过程,如果直接造成程序假死。 如果用异步,不支持 如果用同步,也会出现各种绑定的错误(bing错误)。 如果用sql,需要不停的刷新当前行(不会报错)。 我的需求是,代码需要和table交互。应该用什么解决方法?
|
-- 作者:cd_tdh -- 发布时间:2024/4/15 11:13:00 -- http://www.foxtable.com/webhelp/topics/0624.htm 不建议高频率刷新,服务器遭不做。
[此贴子已经被作者于2024/4/15 11:13:48编辑过]
|
-- 作者:有点蓝 -- 发布时间:2024/4/15 11:19:00 -- 请举例说明一下,具体要做什么,用了什么代码,有什么问题 |
-- 作者:puma -- 发布时间:2024/4/15 11:33:00 -- 以下是引用cd_tdh在2024/4/15 11:13:00的发言: http://www.foxtable.com/webhelp/topics/0624.htm 不建议高频率刷新,服务器遭不做。
[此贴子已经被作者于2024/4/15 11:13:48编辑过] 感谢!现在没有用sql,只是pc与table交互。保存的table的时候,才和服务器交互。 [此贴子已经被作者于2024/4/15 11:33:30编辑过]
|
-- 作者:puma -- 发布时间:2024/4/17 16:13:00 -- 这个报错。用的是同步,没有用异步 此主题相关图片如下:6c1a36c754d3ef08f4ccc1a70c0b391.jpg |
-- 作者:有点蓝 -- 发布时间:2024/4/17 16:30:00 -- 写了什么代码,做了什么操作 |
-- 作者:puma -- 发布时间:2024/4/18 9:24:00 -- 通过按钮直接点击没有问题。 通过同步Functions.asyncExecute() 执行报错 代码如下。大概有7-10个这样的按钮,最多修改数据,可以估计有大几十次(语句) r("第一列") = regBN(0) r("第二列") = regBN(1) r("第三列”) = regBN(2) r("进度”) = 12 表DrawCell事件 If e.Col.Name = "进度" AndAlso e.Row.IsNull("进度") = False Then If e.Row("进度")>0 Then e.StartDraw() Dim 进度 As Integer= e.Row("进度") Dim Width As Integer = (e.Width - 2) * 进度 \\ 100 \'Dim Width As Integer = (e.Width - 2) * e.Row("进度") \\ 100 \'e.Row("进度") = e.Row("进度") If 进度 = 100 Then e.Graphics.FillRectangle(Brushes.Green, e.x + 1, e.y + 1, Width, e.Height - 2) Else e.Graphics.FillRectangle(Brushes.Red, e.x + 1, e.y + 1, Width, e.Height - 2) End If e.EndDraw() End If End If If e.Col.Name = "状态" Then e.StartDraw() If e.Row(e.Col.Name) ="重复" Then e.Graphics.FillRectangle(Brushes.Red, e.x+1, e.y+1, e.Width-2 , e.Height-2 ) Else If e.Row(e.Col.Name) ="失败" Then e.Graphics.FillRectangle(Brushes.YELLOW, e.x+1, e.y+1, e.Width-2 , e.Height-2 ) End If e.EndDraw() \'Else \' \'e.Graphics.FillRectangle(Brushes.Green, e.x, e.y, e.Width , e.Height ) End If [此贴子已经被作者于2024/4/18 9:40:26编辑过]
|
-- 作者:有点蓝 -- 发布时间:2024/4/18 9:40:00 -- 同步函数是给异步函数调用的,如果没有使用异步没有必要使用同步函数。直接调用即可:Functions.Execute() |