以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  能实现编辑副本表的某一行吗?  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=53158)

--  作者:瞩望星空
--  发布时间:2014/7/1 11:19:00
--  能实现编辑副本表的某一行吗?

以“表A”为例,窗口中放置一个表A副本表,“可编辑”已关。

如果又想通过“编辑”按钮,实现对光标所在行进行编辑,且不开放

整个表A的编辑状态(Tables("表A").AllowEdit  = True),只开放

这一行为可编辑,请问如何实现?

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:编辑副本表行.table



--  作者:Bin
--  发布时间:2014/7/1 11:30:00
--  
.
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:编辑副本表行.table


--  作者:有点甜
--  发布时间:2014/7/1 11:45:00
--  

 如下

 

                                                 

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:编辑副本表行.table


--  作者:瞩望星空
--  发布时间:2014/7/1 11:51:00
--  
请问,这样操作时,表A的所有记录都锁了(除这一行外),是否在关闭这个窗口时,还进行解锁操作:

DataTables("表A").ReplaceFor("_Locked",False)



--  作者:Bin
--  发布时间:2014/7/1 11:52:00
--  
嗯.否则表格会处于锁定状态
--  作者:Bin
--  发布时间:2014/7/1 11:52:00
--  
如果表的数据量非常多的话,建议用有点甜的方案.   数据量只是几百行的话,用我的方案简单一点.
--  作者:瞩望星空
--  发布时间:2014/7/1 12:56:00
--  
谢谢二位指导。

假如换一种思路,通过“编辑”铵钮,打开一个窗口来实现编辑副本表某行,不知能否实现?
这个例子中,没有实现的功能是,打个“编辑窗口”时,不知道如何把副本表当前行,与表A实际对应起来。
以下是“编辑窗口” LoadAfter 的代码
\'Dim r As Row =Tables("窗口1_table1").Current  \'取窗口1当前所在行
\'Dim idx As Integer = Tables("表A").FindRow(r) \'查找表A相同的行
\'If idx > -1 Then                              \'找到的话
    \'Tables("表A").Position = idx              \'设当前行
\'End If
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:编辑副本表行2.table



--  作者:Bin
--  发布时间:2014/7/1 14:07:00
--  
如期这样,还不是直接用上面的方案好了
--  作者:有点甜
--  发布时间:2014/7/1 14:16:00
--  

 代码

 

Dim r As Row =Tables("窗口1_table1").Current  \'取窗口1当前所在行
Dim idx As Integer = Tables("表A").FindRow(r.DataRow) \'查找表A相同的行
If idx > -1 Then                              \'找到的话
    Tables("表A").Position = idx              \'设当前行
End If


--  作者:瞩望星空
--  发布时间:2014/7/1 15:54:00
--  
谢谢甜总,这个按钮能用。 而且知道了如何取副表的当前行。

不过,较遗憾的一点,编辑表前,必须“Tables("表A").AllowEdit  = True”,这样就开放了整个表的可编辑性
[此贴子已经被作者于2014-7-1 17:01:03编辑过]