Foxtable(狐表)用户栏目专家坐堂 → [讨论]关于FoxTable的学习


  共有22604人关注过本帖树形打印复制链接

主题:[讨论]关于FoxTable的学习

帅哥哟,离线,有人找我吗?
菜鸟foxtable
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 菜鸟中的老鸟
等级:七尾狐 帖子:1486 积分:10064 威望:0 精华:9 注册:2008/11/14 8:54:00
  发帖心情 Post By:2009/5/25 17:37:00 [显示全部帖子]

以下是引用狐狸爸爸在2009-5-25 16:57:00的发言:
Dim 的语法就一个。
不同的是As后面的类型。
例如:

Dim d As Double
Dim c As Integer

至于你说的类型,大部分的人开始的时候都会混淆,多看两次就明白了。
其实就是两组类型Table和DataTable,两者的差别看看:
开发篇 - Foxtable编程 - 基本类型 - 基本概念(重要)。
开发篇 - Foxtable编程 - 杂谈 - 再谈Table和DataTable。

过了这一关,基本上就OK了。

说实在的,老爹,到现在我对于Table和DataTable还不能谈得上理解,仍然一头雾水。。。

建议老爹针对此发个详细些的讲解贴吧。如果实在没时间就一天写一小段也行。。。


 回到顶部
帅哥哟,离线,有人找我吗?
菜鸟foxtable
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 菜鸟中的老鸟
等级:七尾狐 帖子:1486 积分:10064 威望:0 精华:9 注册:2008/11/14 8:54:00
  发帖心情 Post By:2009/5/25 19:32:00 [显示全部帖子]

以下是引用狐狸爸爸在2009-5-25 17:48:00的发言:

DataTable包括所有的数据,就像一个仓库,而Table就像一个展厅,从仓库中提取符合条件的数据,按指定的顺序展示给客户。
所以Table有Filter(筛选)和Sort(排序)属性,用于决定展厅会展示那些数据,按什么样的顺序展示。
DataTable则不会有这些属性,它始终包括所有数据,且按照输入顺序排列。
展厅是对外开放的,是看得见的,所以我们平时看到的和操作的,都是是Table中的数据。
仓库是不对外开放的,是不可见的,我们只有通过代码才可能操作DataTable。


为什么要区分DataTable和Table呢?
我们的代码有时是针对所有数据的,有时则是针对看得见的数据,所以区分一下当然比较好。
但是这不是最重要的理由,最重要的理由是一个DataTable可能有多个Table,例如在产品表和订单表建立关联的时候,那么订单表就会有两个Table,分别是Tables("订单")和Tables("产品.订单"),也就是有了两个展厅,前者展示所有订单(如果你没有筛选的话),后者展示选定产品的订单;而仓库还是只有一个:DataTables(订单)。
这样我们就可以针对不同的"展厅"进行设置或操作,例如希望只能在"产品.订单"这个关联表中编辑数据,而不能在主表中编辑数据,只需:


Tables("订单").AllowEdit = False
Tables(产品.订单).AllowEdit = True


如果没有Table的概念存在,上述要求是不可能实现的。
随着学习的深入,你会看到,这种双层结构,给编程带来了极大的灵活性。


那么实际编程的时候,什么时候用DataTable,什么是用Table呢?其实很简单:如果你要对看得见的行进行操作,你就用Table,如果你要对所有行进行操作,你就用DataTable。

[此贴子已经被作者于2009-5-25 18:30:06编辑过]

学习了

[此贴子已经被作者于2009-5-25 19:36:33编辑过]

 回到顶部