以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  Fill在新版中改了什么?现在不正常了!  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=17285)

--  作者:reachtone
--  发布时间:2012/3/8 22:05:00
--  Fill在新版中改了什么?现在不正常了!

项目中之前有这样的应用:

 

先在窗口中的Table,按A部门的客户名称进行分组统计,类似于:Tables("表名").Fill("select 部门,客户名称 from....")

然后再用sqlcommand生成B部门的统计,以循环方式逐行将统计结果添加到Tables("表名")中.

如此,再生成C部门\\D部门......同样方式都逐行添加到Tables("表名")中。

 

以前都是正常的,新版出现问题了:如果A部门统计的客户名称长度较短,而B部门统计的客户名称长度较长,则在逐行添加的时候会提示:


图片点击可在新窗口打开查看此主题相关图片如下:11.jpg
图片点击可在新窗口打开查看

 

假如数据库中的客户名称列宽度是40,生成的Table列宽度应该也和它一致才对啊。


--  作者:狐狸爸爸
--  发布时间:2012/3/8 22:29:00
--  

这方面没有任何变动的,唯一变动的是DAtaRowAdding中设置列的值,不再触发DataColChanging和DataColChanged事件,不过发现带来很多副作用,所以晚上改回来了,你重新下载看看。


--  作者:程兴刚
--  发布时间:2012/3/8 22:48:00
--  
贺老师,是不是在执行fill的同时根据A部门指定了字符型列“客户名称”的最大长度,当B部门的客户名称长度大于A部门的客户名称长度时,在输入客户名称内容时被自动截取了,foxtable的核心代码是否是应该在执行后面的sqlcommand的过程中,自动判断字符型列的长度、数字型列的数据类型和小数位数,在该列对应的这些属性不符合sqlcommand需要时,自动动态修改这些对应的列属性为所需长度、数值类型及小数位数来避免(也就是智能调整这些对应的、影响后面数据填充的列属性以满足需要)
--  作者:reachtone
--  发布时间:2012/3/8 23:13:00
--  

其实只要根据统计的基础表,自动保持Table中分组列的宽度和原来相同就可以了。

等更新后再下载看看。


--  作者:程兴刚
--  发布时间:2012/3/9 0:06:00
--  
要考虑来源表还有没有多表的问题!