Foxtable(狐表)用户栏目专家坐堂 → 关于Table(Normal,副本)、SqlTable,与DataList 的初步对比!


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

主题:关于Table(Normal,副本)、SqlTable,与DataList 的初步对比!

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


加好友 发短信 一级勋章
等级:版主 帖子:1993 积分:19409 威望:0 精华:20 注册:2008/9/2 10:09:00
  发帖心情 Post By:2009/8/26 11:00:00 [显示全部帖子]

以下是引用cpayinyuan在2009-8-26 10:11:00的发言:

   1、以前的时候DataList中定位当前行需要使用FindRow和行号,但在新版的Table中,对此没有作出任何改进,甚至还没有以前方便!不知贺老师能否把定位当前行功能变得自动化一点,让表Table的当前行自动随Table控件的当前行移动
  
   2、目前的系统还有一个很大的问题,就是SQLTable中的Table只有在窗口打开的时候才存在,窗口关闭的时候就不存在了,而在窗口打开的时候,当前表的操作可能会引用其他的表(例如编辑表A时可能要引用表B),而其他的表(表B)如果在项目启动时没有加载,表B虽然在其他窗口中加载Table但其他窗口没有打开,所以这时候就不能引用其他的表(表B)。

1、这个建议很有道理。
2、如果表B需要在窗口中显示,就是动态的table,一条sql语句就可以;如果不需要显示而只是调用数据,可以用sqlcommand的ExecuteReader方法。调用没有加载的表可以很自如啊。


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


加好友 发短信 一级勋章
等级:版主 帖子:1993 积分:19409 威望:0 精华:20 注册:2008/9/2 10:09:00
  发帖心情 Post By:2009/8/26 11:05:00 [显示全部帖子]

以下是引用cpayinyuan在2009-8-26 10:32:00的发言:

      或者现在可以用这样的变通办法来解决:在一个窗口中,增加多个SQLTable 控件,把所有可能用到的Table都加载进来?

为什么要一下子增加这么多sqltable呢?一个就够啊。
比如,我现在做的一个录入窗口,里面有很多的编辑框。当焦点进入到不同的编辑框时,就将这个窗口中table控件的内容进行动态调整(赋予不同的sql语句就行了)。我将这个table控件是作为选项列表来使用的,进入不同的编辑框,table就生成不同的列表项目。一个table就够了。


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


加好友 发短信 一级勋章
等级:版主 帖子:1993 积分:19409 威望:0 精华:20 注册:2008/9/2 10:09:00
  发帖心情 Post By:2009/8/26 11:22:00 [显示全部帖子]

以下是引用blackzhu在2009-8-26 11:09:00的发言:

  好高深哦,做个列子看看嘛.

简单做了个例子,没什么高深的。依此类推,一个table可以显示后台N个数据表。

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目1.table

[此贴子已经被作者于2009-8-26 11:23:42编辑过]

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


加好友 发短信 一级勋章
等级:版主 帖子:1993 积分:19409 威望:0 精华:20 注册:2008/9/2 10:09:00
  发帖心情 Post By:2009/8/26 11:31:00 [显示全部帖子]

以下是引用cpayinyuan在2009-8-26 11:26:00的发言:

1、用SQLcommand好像只能产生Datatable,不能产生Table,但有时候是需要Table的,这个目前不好解决。
2、大量使用SQLTable还有一个障碍需要解决,我发现输入框只能绑定打开项目时加载的Table中的字段,不能绑定窗口中SqlTable中动态生成的Table中的字段,不知这个怎么解决?如果全部用代码读入写出,工作量比较大,另外还涉及到输入框之前的相互计算问题,以前在Datacolchanged事件中设置,输入框绑定字段后仍然有效,如果用代码写入,Datacolchanged事件中的计算关系不会对输入框产生效果,这个怎么解决?

1、看12楼的例子
2、这个不是问题。虽然你是在编辑框里输入的,但输入完毕后是要保存到table里的。你在table里设置Datacolchanged事件,编辑框的内容在保存以后照样会自动计算。
我的项目,使用的后台数据库有几十个表,最主要的表数据在百万以上。但项目中只有3个固定的datatable,而且其中2个表是内部的。目前打开项目很快,也就十秒左右而已!

[此贴子已经被作者于2009-8-26 11:34:27编辑过]

 回到顶部