以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  滚动条不滚动  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=122193)

--  作者:桃花笑
--  发布时间:2018/7/20 15:04:00
--  滚动条不滚动
 
 我的数据库是oracle,管理的外部表,在新增的时候,不能用table().addnew,只能用datatables().addnew新增成功。这是为什么……
如下图,想实现的功能,只要保存成功,行就不可编辑,新增的时候希望滚动条能到新增的行,光标可能到相应的行的某列 。
但是现状是:用了DataTables("供应商补充").AddNew()新增后,光标不在新增的行,滚动条也不总是在最顶端。
tables().position 和Rowsel都是0
不知道为什么这样

   
图片点击可在新窗口打开查看
  
图片点击可在新窗口打开查看

--  作者:狐狸爸爸
--  发布时间:2018/7/20 16:12:00
--  
用Table的AddNew,原因:
http://www.foxtable.com/webhelp/scr/0560.htm

--  作者:桃花笑
--  发布时间:2018/7/20 19:13:00
--  
 用Table的AddNew他不增加行,

新增click事件:
Dim dr As Row = Tables("员工信息").AddNew
dr("EMP_NAME") = "张三"
dr("EMP_NO") = "sss"

保存click事件:
DataTables("员工信息").Save
DataTables("员工信息").Load

存在问题,
问题1:这个table不能设置成一个副本,不然新增界面看不到新增的行
问题2:保存的时候,不写.load,那么主键值不进入系统,写了,界面看不到数据

图片点击可在新窗口打开查看


[此贴子已经被作者于2018/7/20 19:27:21编辑过]

--  作者:有点蓝
--  发布时间:2018/7/20 20:25:00
--  
如果不使用狐表默认的主键_Identify,只能使用datatable.addnew,这时自己定位一下position即可

Dim dr As Row = DataTables("员工信息").AddNew
Tables("员工信息").position = Tables("员工信息").rows.count - 1
dr("EMP_NAME") = "张三"
dr("EMP_NO") = "sss"

--  作者:桃花笑
--  发布时间:2018/7/20 20:46:00
--  
有个新的问题,因为我这个通过数据库触发器生成的主键

再保存的时候,需要datatables("员工信息").load才能将新增的数据加载到项目中来,这又导致,我只要一点保存,刚刚新增的数据就不见了,是怎么回事
图片点击可在新窗口打开查看
[此贴子已经被作者于2018/7/20 20:50:57编辑过]

--  作者:有点蓝
--  发布时间:2018/7/20 20:55:00
--  
是不是有筛选条件
--  作者:桃花笑
--  发布时间:2018/7/20 21:00:00
--  
 没有呢,我写的代码非常简单,如下图,左边是新增的代码,右边是保存的代码

图片点击可在新窗口打开查看图片点击可在新窗口打开查看

--  作者:有点蓝
--  发布时间:2018/7/20 21:44:00
--  
窗口表是什么类型?

试试
DataTables("员工信息").Save
DataTables("员工信息").LoadFilter = ""
DataTables("员工信息").Load

--  作者:桃花笑
--  发布时间:2018/7/21 19:20:00
--  
 新增的时候,定位还是不行,在主表中,定位是成功的,但是在窗口中,就没有定位到新增行图片点击可在新窗口打开查看
--  作者:有点甜
--  发布时间:2018/7/22 18:15:00
--  

副本表的定位这样写

 

Dim t As Table = e.form.controls("Table1").Table

t.position = 10