用ASP创建多栏选项列表

创建

概念
作 者 : 青苹果工作室 本文点击次数:4755

   原文出处:http://www.asptoday.com/articles/20000221.htm

  

   首先,我们需要着重介绍一些概念,以给你提供一些使这个“奇迹”得以发生的组成部分。太轻易地泄露伏笔对于讲故事来说不是个好的形式,所以那些不愿意在一开始就看到就结局的人就应该在这里先走开一下。

   这个综合体的第一部分是定宽字体的使用。Internet Explorer 和Netscape的两种标准定宽字体分别是 Courier New和Lucida Console。大部分的网页设计都不是完全使用标准字体,但它们是这个特定技术 工作的必要条件,正象上面两个画面所显示的,它们看起来不错。

   进一步解释,定宽字体就是一种字体,对这种字体的所有字符来说每个字符所占据的空间都是相同的。所以你可能想要采取一定的步骤以确保,这些定宽字体中的某一个或另一个已经安装在组成你的目标观众的客户机上。如果要用你的浏览器看看目前这些字体是否已经安装,在IE5中到Tools | Internet Options下,在Internet Options窗口的General 标签上点击 Fonts 按钮。你就会看到一个名为 Plain Text Font的区:

  

   这就是当前安装的全部定宽字体的列表。对于Netscape 4 和更高版本,到Edit | Preferences ,在 tree-view中展开 Appearance并选择 Fonts。在那有一个Fixed Width Fonts的下拉列表。

   第二部分是将某个特定的字体申请到选项列表中的能力。在IE4及以上版本中,可以用以下方式申请一个字体:

   < SELECT name="mySelect" style=FONT-FAMILY: Lucida Console, Courier New; >

   对Netscape,你可以围绕选项列表使用Font标记:

   < FONT FACE="Lucida Console, Courier New" >< /FONT >

   第三部分就是无间断空间&nbsp和管道字符的使用。

   在下一部分我将演示一个简单的完全编码的多选项列表的例子。最后一部分将演示在上下文使用数据库调用的多选项列表函数,并将探索一些可能的参数选择。

基本的多栏选项列表
作 者 : 青苹果工作室 本文点击次数:4755

   以下的HTML例子示范多栏选项列表的最基本形式:

< HTML >
< HEAD >
< TITLE >Simple Multi-Column Select List< /TITLE >
< /HEAD >

< BODY >
< FORM >
< FONT FACE="Lucida Console, Courier New" >
< SELECT name="sel1" size=3 style="HEIGHT:65 px; WIDTH:350px;
FONT-FAMILY: Lucida Console, Courier New; FONT-SIZE: x-small;" >
< OPTION VALUE="1" >
John |Chips |
Intel |Hillsboro
< OPTION VALUE="2" >
Sue |Wotz |
Microsoft |Redmond
< OPTION VALUE="3" >
Nathan |Babb |
Eprise |Framingham
< /SELECT >
< /FONT >
< /FORM >
< /BODY >
< /HTML >

   列表选项包含FirstName、 LastName、 Company 和 City。为了正确地安排第一栏的格式,我们必须发现字节数最多的名字''Nathan'',然后为全部7个字符增加一个无间断空间。然后我们给John和Sue增加适当数量的空格,使它成为7个字符,在结尾增加管道符号,现在我们就有了一个格式化了的栏。

   要注意我们在以上代码中增加了< FONT > 标记。这是为了在Netscape上使用考虑,因为Netscape不象 IE能够识别字体属性。还要注意< FORM > 标记的出现。这也是Netscape 的要求。IE允许你绘制表单域、 选项列表等,不用将它们放在< FORM > 标记中,而在Netscape ,如果想要提取表单控制的话,就要求 表单的标记。

  

   使用这种方法有明显的缺陷。比如说,不容易向列表中增加一个记录,尤其是当它的大小与编码确定的空间不适合的时候。另外,这种类型的列表难以维护,尤其是当你不是创建编码的那个人的时候。 在下一部分我将向你演示如何用代码动态创建一个多栏选项列表。

扩展的多栏选项列表(一)
作 者 : 青苹果工作室 本文点击次数:4755

   我所执行的多栏选项列表是一个叫做aspOptionListMulti()的函数。如果你想跳过解释直接进入代码部分,可以在文章结尾处找到供下载的函数。下载的函数包含以下几个文件:

simpleSelect.htm
multicolumnlist.mdb
example.asp
connect.inc
aspFunction.asp
   simpleSelect.htm 是前面第一个例子的代码。我的动态例子使用的数据库是Access ,其数据源是 multicolumnlist.mdb 。通过运行example.asp 脚本就可以看到这个动态例子实际执行情况。这个文件中包含connect.inc 以建立与数据库的连接,aspFunction.asp 进行对aspOptionListMulti() 的函数调用。

   如下表中所列的,我的多栏列表函数有10个参数。我不想在aspOptionListMulti()的数据恢复方面多花时间。在接下来的讨论中,假设存在某种类型的数据源,你将在函数中处理返回的行。在这个例子中,我假设我所存储的程序没有参数。我也不再深入解释这个函数是如何调用的。如果你想知道函数是如何被调用的,可以在下载处参考例子。

proc - 生成存储的程序名
parmname - 用于sp调用的可选参数名 (可传递单个值或数组)
parmval - 用于sp调用的可选参数值 (可传递单个值或数组)
val - 选项列表的值栏
selval - 如果是空字符串就不选择。如果它在选项列表中,就作为所选择的值被传递。
column -在选项列表中代表栏的一个数组。
maxcollen - 一个栏的最大可能长度。 -1 就关闭。可以是单个值,对于多栏就是数组。
name - 选项列表的名字。
firstopt - 确定第一个选项是否为空。如果是"|*" 那么就无选项。如果传递了一个值,那么它就是 第一个选项的值(推荐使用0或1)。
style - 字体必须是固定长度(Courier New 或 Lucida Console)。其它字体的参数选择也可以传递。
optattr - 你可能想要包含在选项列表(如函数调用、属性等)中的供选择的属性(完全引用)。
size -1是普通,2或更多是多选(行)。
以下代码是函数声明及它的其它参数。

   Function aspOptionListMulti(proc, parmname, parmval, val, selval, column, maxcollen, name, firstopt, style, optattr, size)

   On Error Resume Next

   对于我们这个特定情况,你可能想要在函数的最开头包含一个On Error Resume Next 语句。把这个语句放在代码中允许代码在发生错误的情况下继续执行(也许在返回的记录集中,代码在某一行中遇到了一个意外的值)。代码中有这个语句,你还可以建立选项列表的内容。缺点是在发生错误的情况,你的应用程序用户将不能直接向你报告错误,也许这个错误会导致下一个错误,使你的调试工作更加困难。

   代码的下一个重要部分是浏览器类型的简单测试。当我们最后建立选项列表时,我们需要区分开IE 和 Netscape ,因为两者在指定字体和型号时对选项列表的处理是不同的。为了简单起见,我将不深入到有关浏览器兼容性的代码,因为我还想集中在代码的关键概念上。如果你想知道更多有关兼容性的 问题,你可以参考本文结尾处提供的代码。

strUA = Request.ServerVariables("HTTP_USER_AGENT")
If Instr(strUA, "MSIE") Then
browserType = "IE"
End If

   接下来是对数据库进行调用,以恢复我们创建多栏列表时所想要使用的记录集。变量rsSelect 包含返回的设定结果。我是通过一个DCOM 对象spServerObj来实现对数据库的调用的,在数组中传递 参数及其值。但是通过ASP用ADO进行调用也同样简单,在这个例子中用一个简单的选择语句来恢复记录集。
   Set rsSelect = spServerObj.ca

时间: 2024-10-02 15:32:02

用ASP创建多栏选项列表的相关文章

用ASP创建Microsoft Word 文件(转)

word|创建 随着人们对数据库及动态HTML (DHTML)的应用和对XML的兴趣的增加,所以在商业网站的数据中使用动态内容变得越来越普遍.这里我们就成功运用了一则最新的技巧--用ASP创建 Word 文件,我想您看后肯定会受到很大的启发. 原文出处:http://www.asptoday.com/articles/19990825.htm 背景 BuildDoc.asp是一个ASP文件,它读入一个网页表单的输出,并创建一个Microsoft Word文件作为输出, 其中包含根据表单内数据改变

用ASP创建Microsoft Word 文件

word|创建 随着人们对数据库及动态HTML (DHTML)的应用和对XML的兴趣的增加,所以在商业网站的数据中使用动态内容变得越来越普遍.这里我们就成功运用了一则最新的技巧--用ASP创建 Word 文件,我想您看后肯定会受到很大的启发. 原文出处:http://www.asptoday.com/articles/19990825.htm 背景 BuildDoc.asp是一个ASP文件,它读入一个网页表单的输出,并创建一个Microsoft Word文件作为输出, 其中包含根据表单内数据改变

Win7删除右键菜单中的“将此程序锁定到任务栏”选项

  "将此程序锁定到任务栏"选项,相信大家都不会陌生,因为在我们安装完某个软件后,他都会默认锁定在任务栏,以方便大家对其的使用.但是大多数用户是不喜欢在任务栏上方很多东西,很容易单击一下就打开这个软件,而且桌面上就有,只要双击就能打开软件,何必将其锁定在任务栏,有时还会误点,所以干脆不要这个选项,还能将右键菜单的空间增多,少一个选项,对以后增加快捷选项也有帮助,所以下面小编就来告诉大家Win7怎么删除右键菜单"将此程序锁定到任务栏"选项的方法. 1.打开桌面左下角处

JS+ASP打造无刷新新闻列表

新闻列表在各大网站中并不少见,有了新闻列表就少不了分页,今天我们要谈的就是各分页间的切换方式. 传统的方法是将页码以URL参数的形式传到列表页,列表页内程序根据传入的参数来显示不同的内容,这之间就有了一次刷新.然而很多时候页面中的新闻列表只占该页布局的一小部分,分了更新这小部分的内容却得刷新整个页面的内容,有人抗议了,于是之后就有人采用XMLHTTP.AJAX等技术来实现无刷新更新列表.今天我们也要实现无刷新更新列表,但不使用XMLHTTP.AJAX等新技术,只使用传统的JavaScript和A

如何用ASP创建Word与Excel文档

创建|word|excel 怎样通过ASP创建简易的OFFICE文档呢?快捷的生成word或excel文档进行办公应用处理!下面我们来详细讲解. ASP具备动态输出任一Office应用程序文件格式的功能.在开始编写代码之前,我们首先需要做的就是设置正确的文件类型,因为浏览器需要知道如何处理文件.第二步是编辑文件名称,我们可以使用HTML和CSS来创建Word文档或Excel文档的样式.      下面这段例子代码可用于在线创建Word文档. 以下是代码:<% Response.ContentTy

CSS创建各栏同高的多栏布局

css|创建 关于我的个人网站被问到最多的问题是: 你是怎么让右边这一栏的背景色一直向下扩展的? 这确实是个很简单的问题,也许你也已经相当熟悉,但很多人还不知道.下面介绍的技术是一个简捷的小技巧,它一定可以帮助你解决这个头痛的问题. 垂直伸展 CSS有一些多少让人感到沮丧的特性,比如元素在垂直方向上只按照它确实需要的长度来伸展.也就是说,如果把一个200像素高的图片放在一个<div>中,这个<div>只会伸展到200像素高. 当你用<div>把你的标签分开(译者按,指结

网页制作学习:用CSS创建三栏页布局

css|创建|网页 三栏布局是目前最常见的网页布局,主要页内容放在中间一栏,边上的两栏放置导航链接之类的内容.基本布局一般是标题之下放置三栏,三栏占据整个页面的宽度,最后在页的底端放置页脚,页脚也占据整个页面宽度. 绝大多数网页设计者都熟悉传统的网页设计技术,用这些技术可以生成带有表格.创建固定宽度布局或者"液态"(它可以根据用户浏览器窗口宽度自动伸缩)布局的网页. 现在,我们都开始抛弃基于表格的布局技术,许多网络设计者正在从XHTML标记和CSS格式这一新范例中寻找创建三栏布局的方法

用CSS的float和clear创建三栏液态布局的方法

clear|css|创建 三栏布局是目前最常见的网页布局,主要页内容放在中间一栏,边上的两栏放置导航链接之类的内容.基本布局一般是标题之下放置三栏,三栏占据整个页面的宽度,最后在页的底端放置页脚,页脚也占据整个页面宽度.  绝大多数网页设计者都熟悉传统的网页设计技术,用这些技术可以生成带有表格.创建固定宽度布局或者"液态"(它可以根据用户浏览器窗口宽度自动伸缩)布局的网页. 现在,我们都开始抛弃基于表格的布局技术,许多网络设计者正在从XHTML标记和CSS格式这一新范例中寻找创建三栏布

Javascript+ASP打造无刷新新闻列表

javascript|刷新|无刷新 如上图所示的新闻列表在各大网站中并不少见,有了新闻列表就少不了分页,今天我们要谈的就是各分页间的切换方式.传统的方法是将页码以URL参数的形式传到列表页,列表页内程序根据传入的参数来显示不同的内容,这之间就有了一次刷新.然而很多时候页面中的新闻列表只占该页布局的一小部分,分了更新这小部分的内容却得刷新整个页面的内容,有人抗议了,于是之后就有人采用XMLHTTP.AJAX等技术来实现无刷新更新列表.今天我们也要实现无刷新更新列表,但不使用XMLHTTP.AJAX