以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  副表新增行的问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=25945)

--  作者:kmzb56
--  发布时间:2012/11/20 15:17:00
--  副表新增行的问题
   这个问题我在坛里问了两次了,以前没说清楚:我的环境是互联环境,一个客户端增加了行,另一个客户端有计划定时追载新增的行,但问题是我在窗口上做的副表,另一个客户定时追载行时,在副表上新增的行能增加,但在窗口后面区域挡着,不是像表那样,如果新增的行能直接定位到那。要每次去拉动滚动条看看有没有新增的行,((一句话,副表上能像表那样新增的行能直接显示到那。另一个条件是,这行是追载来的,不是本地操作的)。请问怎么操作?
[此贴子已经被作者于2012-11-20 15:18:24编辑过]

--  作者:狐狸爸爸
--  发布时间:2012/11/20 15:21:00
--  

Dim cnt as integer = Tables("xxx").Rows.Count

DataTables("xxxx").AppendLoad(.....)

If Tables("xxx").Rows.Count > cnt then

   Tables("xxx").Position = cnt

end if


--  作者:kmzb56
--  发布时间:2012/11/20 15:26:00
--  
狐爸这个应该在哪个事件中做呀?
--  作者:狐狸爸爸
--  发布时间:2012/11/20 15:40:00
--  

你原来追加数据的代码在哪里,这个就放在哪里,用于替换原来追加数据的代码。


--  作者:kmzb56
--  发布时间:2012/11/20 16:05:00
--  
我先像这样做的:

Dim cnt As Integer = Tables("情况发布").Rows.Count
Dim qkid As Integer = DataTables("情况发布").Compute("Max(_Identify)")
Dim Filter As String = "[_Identify] > " & qkid
DataTables("情况发布").AppendLoad(Filter, False)
If Tables("情况发布").Rows.Count > cnt Then
   Tables("情况发布").Position = cnt
End If
不行

后来把 改成:
Dim cnt As Integer = Tables(" 窗口_table3 ").Rows.Count
Dim qkid As Integer = DataTables("情况发布").Compute("Max(_Identify)")
Dim Filter As String = "[_Identify] > " & qkid
DataTables("情况发布").AppendLoad(Filter, False)
If Tables("窗口_table3").Rows.Count > cnt Then
   Tables(" 窗口_table3 ").Position = cnt
End If

成功一次,后来就一直报错。请问是什么原因?


--  作者:狐狸爸爸
--  发布时间:2012/11/20 16:08:00
--  
错误提示?
--  作者:kmzb56
--  发布时间:2012/11/20 18:15:00
--  
怪事就在这里,真还成功运行一次,我估计我没启动菜单,后来提示是: 表:窗口_table3  不存在
--  作者:lin_hailun
--  发布时间:2012/11/20 20:29:00
--  
以下是引用kmzb56在2012-11-20 18:15:00的发言:
怪事就在这里,真还成功运行一次,我估计我没启动菜单,后来提示是: 表:窗口_table3  不存在

这个是因为你窗口关闭了,自然不存在这个表……所以报错。

--  作者:狐狸爸爸
--  发布时间:2012/11/20 20:33:00
--  
Dim qkid As Integer = DataTables("情况发布").Compute("Max(_Identify)")
Dim Filter As String = "[_Identify] > " & qkid
If Forms("窗口").Opened() Then
    Dim cnt As Integer = Tables(" 窗口_table3 ").Rows.Count
    DataTables("情况发布").AppendLoad(Filter, False)
    If Tables("窗口_table3").Rows.Count > cnt Then
        Tables(" 窗口_table3 ").Position = cnt
    End If
Else
    DataTables("情况发布").AppendLoad(Filter, False)
End If

--  作者:kmzb56
--  发布时间:2012/11/21 9:24:00
--  
老大,终于实现这个功能了,谢谢!谢谢! 我想在副表上输入了按Ctrl+enter 直接保存本行,怎么写?