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

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

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

标签:SELECT,列表,asp

   
     下面我们在栏数组中循环。这个数组包含记录集栏值的名,它被用来为我们的列表返回值。
  For n = 0 to UBound(column)
  
     然后我们测试空值。如果值为空,就用空字符串代替它。 
 

 If Not IsNull(rsSelect(column(n))) Then  
  descTemp = Trim( rsSelect(desc(n)))  
  Else  
  descTemp = ""  
  End If 


   
    下面我们来确定哪里的栏值长度与我们预先确定的最大长度相关。如果它较大,就将其截断,反之就增加无间隔空格,使字符串成为用finalMaxLenArray()测量的正确长度。 
   
  

’’strDif Can be negative number if maxcollen is in effect.  
  strDif = CInt(finalMaxLenArray(n)) - Len(descTemp)  
  If strDif < 0 Then  
  descTemp = Mid(descTemp, 1, finalMaxLenArray(n) + 1)  
  Else  
  For x = 0 to strDif ’’0 for one extra  
  descTemp = descTemp & " "  
  Next  
  End If  
   


    然后我们在字符串结尾处增加"|" 字符,然后将那个字符串增加到最后的字符串finalDesc上。 注意循环的次数要与选项列表中的栏数相当,这样结束时就可以有一个完整的选项列表行。 
 

 If n < > UBound(column) Then descTemp = descTemp & "|"  
  strDif = 0  
    
  然后:  
  finalDesc = finalDesc & descTemp  
  Next  
  % > 


   
    然后我们就写出我们的选项值。如果你希望在列表中有经过选择的值,就要使用许多参数。一旦我们写完行就回到开头,将一些参数重新设置成空字符串,用下一个记录集行将整个过程重做一遍。一旦所有这些选项都写出来之后,就关闭记录集和连接,终止函数。为了组合一个错误句柄程序,你可能 希望函数返回一个成功代码。 
   
  

< OPTION < %If (Not IsNull(selval) Or Trim(selval) < > "") _  
  And selval = valTemp Then  
  Response.Write("SELECTED")% > VALUE="< %=valTemp% >" >< %=finalDesc% >  
  < %  
  finalDesc = ""  
  valTemp = ""  
  rsSelect.MoveNext  
  Loop  
  % >  
  < /OPTION >  
  < /SELECT >  
    
  < %  
  Set rsSelect = Nothing  
    
  End Function  
  % > 


   
     你可以看到,在创建这些多栏列表时包含一些overhead ,无论是在运行的时候还是在最终将它们展示给用户的时候。有时候调试这些创建列表的ASP代码是很头疼的。但是,它们是以有序的方式和正确的位置表现许多信息的很好的方式,是值得花费这些代价的.

0
投稿

猜你喜欢

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