怎样过滤数据窗口中没有显示的数据记录,急!在线等。100分相送,谢谢指导!
怎样过滤数据窗口中没有显示的数据记录,
因为查询数据时,只让数据窗口显示任选的记录,即不显示数据窗口本身的全部列。故我使用类似语句:dw_1.Object.#1.Visible = 0 让一些列不显示在数据窗口中。但用word或excel导出数据时,会导出全部记录。也就是说,连隐藏的列也导出了。
我只要导出数据窗口当前显示的记录(列)。
请问,这该如何解决?谢谢!
问题点数:100、回复次数:13Top
1 楼alec626(月吻长河Blog:spaces.msn.com/filebase)回复于 2005-05-12 21:54:46 得分 5
恐怕要用OLE API 自己写导出EXCEL的代码Top
2 楼lu20021290(鲁绵)回复于 2005-05-12 21:55:36 得分 0
这难吗?我不会Top
3 楼lu20021290(鲁绵)回复于 2005-05-12 21:56:41 得分 0
可以动态修改数据窗口吗,让数据窗口缓冲区内只有刚刚显示的数据记录?Top
4 楼lu20021290(鲁绵)回复于 2005-05-12 22:08:36 得分 0
是不是可以动态生成一张表,存放数据窗口中显示的记录,然后再导出呢?Top
5 楼zottff()回复于 2005-05-13 08:14:22 得分 10
做一个后台的数据窗口或存储,删除(destroy)不显示的列,共享,然后导出Top
6 楼j9dai(翔)(DoItNow)回复于 2005-05-13 08:37:35 得分 20
另做一个DataStore或隐形DW,共享当前数据窗口的内容,再删除各隐藏的列,然后导出Top
7 楼lu20021290(鲁绵)回复于 2005-05-13 10:59:37 得分 0
请问,删除列的具体代码?Top
8 楼princelily(百合)回复于 2005-05-13 11:21:40 得分 5
其实,如果不是要用户来操作控制选择表中的指定列。那干脆在建立数据窗口对象的时候,就不要选择你不想看到的列。这样在导出数据的时候就不会看到它了。哈哈!
用你的方法dw_1.Object.#1.Visible = 0 只能让数据窗口显示数据的时候,隐藏某列,实际上该列的数据还是显示了,只不过你不让客户看到罢了。在SQL选择的表列的时候它还存在,故导出一定会有该列的。
要想实现动态控制表中某列是否显示并导出,就必然要用到动态生成数据数据窗口对象的技术,也就是动态SQL。先给你提供思路。在帮你看看具体实现的方法。嘿嘿Top
9 楼lu20021290(鲁绵)回复于 2005-05-13 11:23:03 得分 0
是要用户来操作控制选择表中的指定列Top
10 楼lu20021290(鲁绵)回复于 2005-05-13 11:28:07 得分 0
是不是要使用modify语句Top
11 楼fuyun(浮云)回复于 2005-05-13 14:00:47 得分 5
visible设置当然列还存在,导出还有是正常的,datawindow设计时不加这些列就可以了。Top
12 楼jaket_vip()回复于 2005-05-13 17:16:27 得分 55
动态创建数据窗口:
参考代码:
String ls_DwSyntax,ls_Error,SqlString,StyleString,ErrorString
SqlString="select U_ID from WEB_USERS "
StyleString="Style(Type='Grid')Cloumn(property=)"
ErrorString="111111"
dw_1.Create(SQLCA.SyntaxFromSQL(SqlString,StyleString,ErrorString))
dw_1.SetTransObject(SQLCA);
dw_1.retrieve();Top
13 楼lu20021290(鲁绵)回复于 2005-05-13 18:51:44 得分 0
谢谢 jaket_vip()
这种方法确实可行。只不过生成的数据窗口没有网格。Top




