根据条件选择,将值传递为一个组合框的下拉列表
2006-04-15 15:18
411 查看
'注释:
Sub eb_Sheng_CloseUp()
dim Arr,Dic
eb_shi.Clear
StrSql = "Select 城市 From 邮编区号 Where 省份 = '"+eb_Sheng.Text+"'"
StrRet = DBEngine.WebFunction("SqlQuery",StrSql,"")
GetArrFromXML Dic,Arr,strRet
FOR i=0 TO UBound(Arr,2)
eb_Shi.AddItem Arr(0,i)
NEXT
End Sub
Function GetArrFromXML(ByRef FieldArr, ByRef Arr1, Xml1)
Dim i, j, lsXml, lsChar, liStar, liEnd, lsStar, lsEnd, liLen,Dic1
lsStar = "<FieldName>"
lsEnd = "</FieldName>"
liLen = Len(lsStar)
i = InStr(1,Xml1, "<FieldInfoArray>",1)
If i <> 0 Then
lsXml = Mid(Xml1, i, Len(Xml1))
Else
Exit Function
End If
liStar = InStr(1, lsXml, lsStar, 1)
liEnd = InStr(1, lsXml, lsEnd, 1)
Do While liEnd > 0
If IsArray(FieldArr) Then
ReDim Preserve FieldArr(UBound(FieldArr) + 1)
Else
ReDim FieldArr(0)
End If
FieldArr(UBound(FieldArr)) = Mid(lsXml, liStar + liLen, liEnd - liStar - liLen)
liStar = InStr(liEnd+1, lsXml, lsStar, 1)
liEnd = InStr(liEnd+1, lsXml, lsEnd, 1)
Loop
Set Dic1 = CreateObject("Scripting.Dictionary")
For i = 0 To UBound(FieldArr, 1)
Dic1.Add FieldArr(i), CStr(i)
Next
liStar = InStr(1, lsXml, "<RowNum>", 1)
liEnd = InStr(1, lsXml, "</RowNum>", 1)
i = Int(Mid(lsXml, liStar + Len("<RowNum>"), liEnd - liStar - Len("<RowNum>")))
ReDim Arr1(UBound(FieldArr, 1), i - 1)
For i = 0 To UBound(FieldArr, 1)
lsStar = "<" & FieldArr(i) & ">"
lsEnd = "</" & FieldArr(i) & ">"
liLen = Len(lsStar)
j = 0
liStar = InStr(1, lsXml, lsStar, 1)
liEnd = InStr(1, lsXml, lsEnd, 1)
Do While liEnd > 0 'i = dic1.key(FieldArr(i))
Arr1(i, j) = Mid(lsXml, liStar + liLen, liEnd - liStar - liLen)
liStar = InStr(liEnd+1, lsXml, lsStar, 1)
liEnd = InStr(liEnd+1, lsXml, lsEnd, 1)
j = j + 1
Loop
Next
End Function
Sub eb_Sheng_CloseUp()
dim Arr,Dic
eb_shi.Clear
StrSql = "Select 城市 From 邮编区号 Where 省份 = '"+eb_Sheng.Text+"'"
StrRet = DBEngine.WebFunction("SqlQuery",StrSql,"")
GetArrFromXML Dic,Arr,strRet
FOR i=0 TO UBound(Arr,2)
eb_Shi.AddItem Arr(0,i)
NEXT
End Sub
Function GetArrFromXML(ByRef FieldArr, ByRef Arr1, Xml1)
Dim i, j, lsXml, lsChar, liStar, liEnd, lsStar, lsEnd, liLen,Dic1
lsStar = "<FieldName>"
lsEnd = "</FieldName>"
liLen = Len(lsStar)
i = InStr(1,Xml1, "<FieldInfoArray>",1)
If i <> 0 Then
lsXml = Mid(Xml1, i, Len(Xml1))
Else
Exit Function
End If
liStar = InStr(1, lsXml, lsStar, 1)
liEnd = InStr(1, lsXml, lsEnd, 1)
Do While liEnd > 0
If IsArray(FieldArr) Then
ReDim Preserve FieldArr(UBound(FieldArr) + 1)
Else
ReDim FieldArr(0)
End If
FieldArr(UBound(FieldArr)) = Mid(lsXml, liStar + liLen, liEnd - liStar - liLen)
liStar = InStr(liEnd+1, lsXml, lsStar, 1)
liEnd = InStr(liEnd+1, lsXml, lsEnd, 1)
Loop
Set Dic1 = CreateObject("Scripting.Dictionary")
For i = 0 To UBound(FieldArr, 1)
Dic1.Add FieldArr(i), CStr(i)
Next
liStar = InStr(1, lsXml, "<RowNum>", 1)
liEnd = InStr(1, lsXml, "</RowNum>", 1)
i = Int(Mid(lsXml, liStar + Len("<RowNum>"), liEnd - liStar - Len("<RowNum>")))
ReDim Arr1(UBound(FieldArr, 1), i - 1)
For i = 0 To UBound(FieldArr, 1)
lsStar = "<" & FieldArr(i) & ">"
lsEnd = "</" & FieldArr(i) & ">"
liLen = Len(lsStar)
j = 0
liStar = InStr(1, lsXml, lsStar, 1)
liEnd = InStr(1, lsXml, lsEnd, 1)
Do While liEnd > 0 'i = dic1.key(FieldArr(i))
Arr1(i, j) = Mid(lsXml, liStar + liLen, liEnd - liStar - liLen)
liStar = InStr(liEnd+1, lsXml, lsStar, 1)
liEnd = InStr(liEnd+1, lsXml, lsEnd, 1)
j = j + 1
Loop
Next
End Function
相关文章推荐
- 关于在GridView模版里添加DropDownList实现根据下拉列表的不同选择gridview根据条件筛选显示。
- jquery如何书写一个根据下拉选择列表的选择值 控制其他标签时候显示的功能
- javaScript 实现一个 下拉列表选择 的函数
- 在Mybits中,根据页面下拉列表当中不同条件,查询不同的表。
- 写一个函数实现根据下拉列表的变化,更新图片显示
- 通过选择下拉列表的值来取数据库的值并填写一个表格
- QT5-控件-QFontComboBox-字体选择下拉列表,使用一个标签查看效果
- 请教:JSP里如何实现下拉组合框,既能从列表中选择也能自由输入,同时输入时自动定位到与已输字符最相符的列表项?
- .NET 根据下拉列表选择不同的值动态改变对应textbox的属性
- moss 2010 用infopath 2010 获取sharepoint库和列表数据源并根据条件过滤填充到下拉框(1)
- select下拉列表 和 radio单选按钮控件开关---- 根据值选择选项 & change事件
- JS实现下拉列表中的联动(根据所选的text的值,改变另外一个下拉列表中国的值(text))
- 设Excle的cell中显示一个下拉列表选择框
- selenium自动化测试 java 选择 下拉列表 的一个选项
- 在工具栏(ToolBar)上添加ComboBox控件,为何每次在下拉列表中选择时,都会自动的选中工具栏上的一个按钮?
- CSS 多类选择器一个class值包含一个词列表,或分开包含时的选择
- spinner自定义,效果如腾讯QQ账号选择时候的下拉列表
- MVC5用AJAX实现一个下拉列表的值改变,另一个下拉列表的值跟着变(在不更新整个页面的前提下,且调用后台函数)
- EasyUI中包选择按钮的下拉列表的使用方法
- 一个jstl标签综合运用的例子(包括下拉列表事件处理等等),直观了解一个浏览器页面上有多少对象)