网络编程
位置:首页>> 网络编程>> Asp编程>> 用ASP创建多栏选项列表SELECT(2)

用ASP创建多栏选项列表SELECT(2)

  发布时间:2007-10-08 13:18:00 

标签:SELECT,列表,asp

   
     要注意我们在以上代码中增加了< FONT > 标记。这是为了在Netscape上使用考虑,因为Netscape不象 IE能够识别字体属性。还要注意< FORM > 标记的出现。这也是Netscape 的要求。IE允许你绘制表单域、 选项列表等,不用将它们放在< FORM > 标记中,而在Netscape ,如果想要提取表单控制的话,就要求 表单的标记。 
   
     使用这种方法有明显的缺陷。比如说,不容易向列表中增加一个记录,尤其是当它的大小与编码确定的空间不适合的时候。另外,这种类型的列表难以维护,尤其是当你不是创建编码的那个人的时候。 在下一部分我将向你演示如何用代码动态创建一个多栏选项列表。
  
     我所执行的多栏选项列表是一个叫做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 语句。把这个语句放在代码中允许代码在发生错误的情况下继续执行(也许在返回的记录集中,代码在某一行中遇到了一个意外的值)。代码中有这个语句,你还可以建立选项列表的内容。缺点是在发生错误的情况,你的应用程序用户将不能直接向你报告错误,也许这个错误会导致下一个错误,使你的调试工作更加困难。

0
投稿

猜你喜欢

手机版 网络编程 asp之家 www.aspxhome.com