Rss & SiteMap

Foxtable(狐表) http://www.foxtable.com

新一代数据库软件,完美融合Access、Foxpro、Excel、vb.net之优势,人人都能掌握的快速软件开发工具!
共11 条记录, 每页显示 10 条, 页签: [1] [2]
[浏览完整版]

标题:怎样获得datalist中已经build的列名称(不是列标题)。

1楼
mr725 发表于:2009/5/8 13:49:00

如题::

2楼
cpayinyuan 发表于:2009/5/8 14:09:00

目前好像不能.

    尽管在窗口中显示表时,绝大多数情况下可以用Table代替DataList.但是,根据贺老师的说法,DataList和Table有着本质的不同.DataList是一个高级的数据列表框,而窗口中的Table是把表挪到了窗口中来显示.从程序设计的道理上来讲,在窗口中显示数据用DataList更符合惯例,在窗口中直接显示表编辑表(即Table)总感觉是一种电子表格的操作方式,不符合程序设计的惯例.
     所以,个人建议狐表作为一个开发工具不应倡导用户直接在窗口中修改表/显示表,而应尽量符合软件设计的惯例,培养大家好的习惯.所以,建议狐表要进一步增强DataList的功能:
例如楼主提到的获得DataList的显示列,
例如以前提到的DataList重新Build时速度太慢的问题.
另外,我再提一个小建议:希望DataList中应增加设置交替行背景色功能(这个在显示的时候很方便,用样式来实现这一功能速度又慢又不方便).

[此贴子已经被作者于2009-5-8 14:10:38编辑过]
3楼
shxiaoya 发表于:2009/5/8 14:16:00
试试从ColumnList取值
4楼
yangming 发表于:2009/5/8 14:17:00
据贺老师说,Table也可以在窗口中动态增加和删除了,下次更新就可以用了,所以我想,还是多用Table,不是更方便?
5楼
don 发表于:2009/5/8 14:24:00
以下是引用cpayinyuan在2009-5-8 14:09:00的发言:

目前好像不能.

应该可以的,试试:

Dim
dst As WinForm.DataList = e.Form.Controls("DataList1")

Dim Names As New List(Of String)

For Each dc As DataCol In dst.DataTable.DataCols
    Names.Add(d
c.Name)
Next

6楼
cpayinyuan 发表于:2009/5/8 14:31:00
以下是引用yangming在2009-5-8 14:17:00的发言:
据贺老师说,Table也可以在窗口中动态增加和删除了,下次更新就可以用了,所以我想,还是多用Table,不是更方便?

     狐表本身应该算作数据库软件,不是电子表格,在表上进行汇总统计本来就感觉怪怪的!根据数据库软件的惯例,数据库中的表是储存数据的地方,不是进行汇总统计/显示数据的地方,所以数据的汇总统计及显示,还是与数据的储存分开更好一点,这样更符合数据库系统的惯例,也更有利于数据的安全完整.所以,在狐表中在Table中进行显示,包括进行汇总统计,功能上完全可以实现,但我始终认为还是应该把两者分开更好一些.即使为了照顾大部分人的意见允许用Table作为汇总统计和显示,也不应因此而忽视增强数据列表的功能.
    我的观点不一定对,仅供贺老师和大家参考.

7楼
yangming 发表于:2009/5/8 14:41:00
这又回到前二天大家讨论的问题了,呵呵
Table和DataTables的区别了
8楼
狐狸爸爸 发表于:2009/5/8 15:05:00

一般来说,统计是统计,数据是数据。
虽然foxtable提供了汇总模式,让数据和统计结果可以混合在一起,但是也提供了分组统统计和交叉统计,得到纯粹的统计结果,大家愿意分开也行,不愿意分开也行,各取所需啊。

9楼
mr725 发表于:2009/5/8 15:26:00
以下是引用don在2009-5-8 14:24:00的发言:

应该可以的,试试:

Dim
dst As WinForm.DataList = e.Form.Controls("DataList1")

Dim Names As New List(Of String)

For Each dc As DataCol In dst.DataTable.DataCols
    Names.Add(d
c.Name)
Next

Dim dst As WinForm.DataList = Forms("窗口名称").Controls("DataList1")
Dim Names As New List(Of String)  '在此这行不需要

For Each dc As DataCol In dst.DataTable.DataCols
    output.show(d
c.Name)  '这样可以显示datalist里的列名了。谢谢don
Next

交叉统计的显示结果:
....
...
crsz1
crsz2
crsz3
crsz4
crsz5
...
...

[此贴子已经被作者于2009-5-8 15:48:27编辑过]
10楼
狐狸爸爸 发表于:2009/5/8 15:30:00
交叉统计生成的列名,就是:

crsz1
crsz2
crsz3
crsz4
crsz5
共11 条记录, 每页显示 10 条, 页签: [1] [2]

Copyright © 2000 - 2018 foxtable.com Tel: 4000-810-820 粤ICP备11091905号

Powered By Dvbbs Version 8.3.0
Processed in .04297 s, 2 queries.