如何实现选择字段打印的功能呢?谁告诉我立刻给分
要求对数据库中的字段进行选择打印,想不出有什么好的方法实现
我想,是不是要先从数据库中把这个表的全部字段取出,
再让用户选择哪些字段需要打印?
不能一下子给200分
谁能解决,我另开问题给分
问题点数:0、回复次数:6Top
1 楼dafei0320(我只知其然)回复于 2003-11-02 12:11:05 得分 0
在前台做个查询数据的条件!
也就是一般的查询啊!
查到的结果就可是你要的!直接打印----
??????
你再具体说说-Top
2 楼Equn(熠群)回复于 2003-11-02 12:59:23 得分 0
选择字段页面:select.asp
<!--#include file="news_con.asp"-->
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>选取打印字段</title>
</head>
<body bgcolor="#FFFFCC">
<form name="form1" method="post" action="">
<table width="100%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td align="center"><table width="100%" border="0">
<tr align="right">
<td width="44%">选取的打印字段</td>
<td width="12%" align="left"> </td>
<td width="44%" align="left">数据库字段</td>
</tr>
</table></td>
</tr>
<tr>
<td align="center"> <table border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td height="173" align="right"> <select name="s2" STYLE="width=180" size="15" id="select">
</select> </td>
<td width="100"> <table width="100" border="0" cellspacing="0" cellpadding="0">
<tr>
<td height="25" align="center"><input type="button" name="Submit4" value="<< " onClick="javascript:user(1)">
</td>
</tr>
<tr>
<td height="25" align="center"><input type="button" name="Submit3" value=" < " onClick="javascript:user(2)">
</td>
</tr>
<tr>
<td height="25" align="center"><input type="button" name="Submit" value=" > " onClick="javascript:user(3)">
</td>
</tr>
<tr>
<td height="25" align="center"><input type="button" name="Submit2" value=" >>" onClick="javascript:user(4)">
</td>
</tr>
</table></td>
<td align="left"> <select STYLE="width=180" name="s1" size="15" id="select2">
<%
set rs=conn.execute("select top 1 * from employee")
for i=0 to rs.Fields.Count-1
response.Write("<option value='"&rs.Fields(i).Name&"'>"&rs.Fields(i).Name&"</option>")
next
%>
</select> </td>
</tr>
</table></td>
</tr>
</table>
<br>
<hr size=1 color=rgb(23,119,189)>
<div align="center">
<input name="ok" type="button" id="ok" value=" 确定 ,打印..." onClick="clickok(1)">
</div>
</form>
<script language="VBScript">
sub user(ac)
set frm=document.form1
select case ac
case 1 //加所有
if frm.s1.options.length>0 then
for i=0 to frm.s1.options.length-1
selecttext=frm.s1.options(i).text
selectvalue=frm.s1.options(i).value
set myopt=document.createElement("<option>")
myopt.text=selecttext
myopt.value=selectvalue
frm.s2.add(myopt)
next
frm.s1.options.length=0
end if
case 2 //加一人
if frm.s1.options.length>0 then
selecttext=frm.s1.options(frm.s1.selectedIndex).text
selectvalue=frm.s1.options(frm.s1.selectedIndex).value
set myopt=document.createElement("<option>")
myopt.text=selecttext
myopt.value=selectvalue
frm.s2.add(myopt)
frm.s1.remove(frm.s1.selectedIndex)
end if
case 3 //减一人
if frm.s2.options.length>0 then
selecttext=frm.s2.options(frm.s2.selectedIndex).text
selectvalue=frm.s2.options(frm.s2.selectedIndex).value
set myopt=document.createElement("<option>")
myopt.text=selecttext
myopt.value=selectvalue
frm.s1.add(myopt)
frm.s2.remove(frm.s2.selectedIndex)
end if
case 4 //减所有
if frm.s2.options.length>0 then
for i=0 to frm.s2.options.length-1
selecttext=frm.s2.options(i).text
selectvalue=frm.s2.options(i).value
set myopt=document.createElement("<option>")
myopt.text=selecttext
myopt.value=selectvalue
frm.s1.add(myopt)
next
frm.s2.options.length=0
end if
end select
end sub
sub clickok(id)
if id=1 then
dim userlist
set frm=document.form1
if frm.s2.options.length>0 then
for i=0 to frm.s2.options.length-1
if len(userlist)=0 then
userlist=frm.s2.options(i).value
else
userlist=userlist&","&frm.s2.options(i).value
end if
next
end if
document.form2.prtfields.value=userlist
document.form2.submit
end if
end sub
</script>
<form name="form2" method="post" action="print.asp">
<input name="PrtFields" type="hidden" id="PrtFields">
</form>
</body>
</html>
Top
3 楼Equn(熠群)回复于 2003-11-02 13:00:26 得分 0
打印页面,print.asp:
<!--#include file="news_con.asp"-->
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>打印数据</title>
<style type="text/css">
<!--
.cnone {
display:none
}
.cblock {
display:block}
-->
</style>
</head>
<body>
<%
PrtFields=request("PrtFields")
set rs=conn.execute("select "&PrtFields&" from employee")
do while not rs.eof
for i=0 to rs.Fields.Count-1
response.Write("<b>"&rs.Fields(i).Name&":</b>"&rs(i)&"<br>")
next
response.Write("<hr size=1><br>")
rs.movenext
loop
%>
<br>
<form name="form1" method="post" action="">
<input name="prt" type="button" id="prt" onClick="printaddress()" value="开始打印">
</form>
<script language="vbscript">
sub printaddress()
document.form1.prt.className ="cnone"
document.execCommand("Print")
document.form1.prt.className ="cblock"
end sub
</script>
</body>
</html>
Top
4 楼showerXP(小阿!)回复于 2003-11-03 17:56:15 得分 0
好长的代码阿。干什么用的能说一下吗?Top
5 楼Equn(熠群)回复于 2003-11-03 18:44:14 得分 0
用两个select列出数据库表的所有字段,选取要打印的字段,再打印Top
6 楼IsMe(海底捞针)回复于 2003-11-03 22:43:04 得分 0
ABCReport 用于B/S、C/S下的报表打印工具
对于数据表,支持任意选择打印字段
http://sgreport.nease.netTop




