我们有一个项目任务给团队使用android平台的Windev Mobile,任务是在一个窗口(只有一个窗口)上创建表控件,表必须能够显示从查询或数据文件中检索到的记录。我们仍然无法找到解决方案,使表控件能够根据datafile自动添加列和行。
为了详细说明我的意思,我的团队和我正试图在Windev Mobile中创建一个数据库管理器应用程序(用于HFSQL),我们的任务是创建2个窗口,一个窗口选择哪个数据表(数据库中存在的分析文件),另一个窗口将用于管理(创建,读取,更新,删除)表中的数据。
我们已经能够创建第一个窗口,但第二个窗口是目前让我们困惑的,因为我们需要使它能够使用一个包含表的窗口,该表将根据我们加载的数据表(例如"客户端数据")来扩展/减少列的数量。数据表有5个数据头(client_name
,client_address
,client_phoneNum
,client_type
,client_eMail
),所以表应该有5列,提供者数据表有10个数据头,所以表应该有10列),就像当我们打开不同的excel文件时excel会怎么做
现在我们能够创建灵活的表,它将显示来自不同数据文件的表和列。我们使用BuildBrowsingTable来显示列,使用FileToMemoryTable来显示记录。表控件将根据我们选择的数据文件自我调整。但是当我们试图管理表上的数据(添加,修改,删除)时,会产生问题
FOR i = 1 TO arrAdd.Count()
q.arrAdd = edt
END
注释:q(数据文件),arrAdd(表上的列)和edt(编辑控制值)
不幸的是,它不允许我们使用"。"在这一行在Unicode字符串元素
上不允许使用q.arrAdd = edt // '.'
运算符有什么建议,如何解决这个问题?
如果有人有同样的问题,目前没有简单的解决方案。我们已经完成了这个项目,使用Windev 24完成这个项目的唯一方法是通过
-
创建包含分析上的数据文件名列表的表控件(Dispay_Datafile)
-
当行选择(Display_Datafile)的数据将显示在其他表控件(Display_Record)。要做到这一点,你必须创建if条件来检查所选行上的字符串是否与数据文件名称相同,然后你可以让它显示你在if条件内声明的查询/数据文件的记录。目前没有解决方案来做循环,你必须为每个数据文件创建if语句。
-
从这里您可以访问query/datafile以在Edit Control
上显示记录
这就是我们现在的做法,我希望它能帮助你。