我曾作过用sql语句和多个from可实现。 例如: 1:在index.aspx中: Private Sub btnOk_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnOk.Click Response.Redirect("./frmMain.aspx") End Sub 2:在frmMain.aspx中先设treeview的treenodesrc设为frmTreeDowith.aspx Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load '在此处放置初始化页的用户代码 Dim conEquipment As System.Data.SqlClient.SqlConnection Dim cmdEquipment As System.Data.SqlClient.SqlCommand Dim dstEquipment As DataSet Dim strQuery As String Dim strIni As String’要对该变量赋值
conEquipment = New System.Data.SqlClient.SqlConnection("user id=sa;password=xxxxxxx;initial catalog=xxxxxx;data source=xxxx;Connect Timeout=30") strQuery = "select Name as Text,'frmTreeDowith1.aspx?intID='+ IDID" & _ " as TreeNodeSrc from Equipment as TreeNode where SensorType=@SensorType and usermange=@usermange and len(ID)>12 for XML auto,XMLDATA" cmdEquipment = New SqlClient.SqlCommand(strQuery, conEquipment) cmdEquipment.Parameters.Add(New SqlClient.SqlParameter("@SensorType", CInt(Request.QueryString("0")))) cmdEquipment.Parameters.Add(New SqlClient.SqlParameter("@usermange", Trim(strIni))) conEquipment.Open() dstEquipment = New DataSet() dstEquipment.ReadXml(cmdEquipment.ExecuteXmlReader, XmlReadMode.Fragment) dstEquipment.DataSetName = "TREENODES" dstEquipment.WriteXml(Response.OutputStream) conEquipment.Close() End Sub在frmTreeDowith1.aspx中写 Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load '在此处放置初始化页的用户代码 Dim conEquipment As System.Data.SqlClient.SqlConnection Dim cmdEquipment As System.Data.SqlClient.SqlCommand Dim dstEquipment As DataSet Dim strQuery As String Dim strIni As String’要对该变量赋值 conEquipment = New System.Data.SqlClient.SqlConnection("user id=sa;password=xxxxxxx;initial catalog=xxxxxx;data source=xxxx;Connect Timeout=30") strQuery = "select Name as Text,'frmTreeDowith2.aspx?intJTID='+ IDID" & _ " as TreeNodeSrc from Equipment as TreeNode where upperid=@upperid and usermange=@usermange and len(ID)>12 for XML auto,XMLDATA" cmdEquipment = New SqlClient.SqlCommand(strQuery, conEquipment) cmdEquipment.Parameters.Add(New SqlClient.SqlParameter("@upperid", Request.QueryString("intID"))) cmdEquipment.Parameters.Add(New SqlClient.SqlParameter("@usermange", Trim(strIni))) conEquipment.Open() dstEquipment = New DataSet() dstEquipment.ReadXml(cmdEquipment.ExecuteXmlReader, XmlReadMode.Fragment) dstEquipment.DataSetName = "TREENODES" dstEquipment.WriteXml(Response.OutputStream) conEquipment.Close() End Sub在frmTreeDowith2.aspx中 Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Dim conEquipment As System.Data.SqlClient.SqlConnection Dim cmdEquipment As System.Data.SqlClient.SqlCommand Dim dstEquipment As DataSet Dim strQuery As String Dim strIni As String’要对该变量赋值 conEquipment = New System.Data.SqlClient.SqlConnection("user id=sa;password=xxxxxxx;initial catalog=xxxxxx;data source=xxxx;Connect Timeout=30") strQuery = "select Name as Text from Equipment as TreeNode where upperid=@upperid and usermange='" & strIni & "' and len(ID)>12 for XML auto,XMLDATA" cmdEquipment = New SqlClient.SqlCommand(strQuery, conEquipment) cmdEquipment.Parameters.Add(New SqlClient.SqlParameter("@upperid", Request.QueryString("intJTID"))) cmdEquipment.Parameters.Add(New SqlClient.SqlParameter("@usermange", Trim(strIni))) conEquipment.Open() dstEquipment = New DataSet() dstEquipment.ReadXml(cmdEquipment.ExecuteXmlReader, XmlReadMode.Fragment) dstEquipment.DataSetName = "TREENODES" dstEquipment.WriteXml(Response.OutputStream) conEquipment.Close() End Sub 这样即可出现四层的树型数据浏览需5层时再添加窗体。你可以试一下,数据库为SQL,表结构在读程序中你可以推出来。只需建好库把上述程序copy到你开发的系统即可看到结果,别忘添加些数据向你的数据表中。挺复杂的,涉及到xml一些概念,你有更简便的方法吗?联系方式:Email:[email protected]
例如:
1:在index.aspx中:
Private Sub btnOk_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnOk.Click
Response.Redirect("./frmMain.aspx")
End Sub
2:在frmMain.aspx中先设treeview的treenodesrc设为frmTreeDowith.aspx Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
'在此处放置初始化页的用户代码
Dim conEquipment As System.Data.SqlClient.SqlConnection
Dim cmdEquipment As System.Data.SqlClient.SqlCommand
Dim dstEquipment As DataSet
Dim strQuery As String
Dim strIni As String’要对该变量赋值
conEquipment = New System.Data.SqlClient.SqlConnection("user id=sa;password=xxxxxxx;initial catalog=xxxxxx;data source=xxxx;Connect Timeout=30")
strQuery = "select Name as Text,'frmTreeDowith1.aspx?intID='+ IDID" & _
" as TreeNodeSrc from Equipment as TreeNode where SensorType=@SensorType and usermange=@usermange and len(ID)>12 for XML auto,XMLDATA"
cmdEquipment = New SqlClient.SqlCommand(strQuery, conEquipment)
cmdEquipment.Parameters.Add(New SqlClient.SqlParameter("@SensorType", CInt(Request.QueryString("0"))))
cmdEquipment.Parameters.Add(New SqlClient.SqlParameter("@usermange", Trim(strIni)))
conEquipment.Open()
dstEquipment = New DataSet()
dstEquipment.ReadXml(cmdEquipment.ExecuteXmlReader, XmlReadMode.Fragment)
dstEquipment.DataSetName = "TREENODES"
dstEquipment.WriteXml(Response.OutputStream) conEquipment.Close()
End Sub在frmTreeDowith1.aspx中写
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
'在此处放置初始化页的用户代码
Dim conEquipment As System.Data.SqlClient.SqlConnection
Dim cmdEquipment As System.Data.SqlClient.SqlCommand
Dim dstEquipment As DataSet
Dim strQuery As String
Dim strIni As String’要对该变量赋值 conEquipment = New System.Data.SqlClient.SqlConnection("user id=sa;password=xxxxxxx;initial catalog=xxxxxx;data source=xxxx;Connect Timeout=30")
strQuery = "select Name as Text,'frmTreeDowith2.aspx?intJTID='+ IDID" & _
" as TreeNodeSrc from Equipment as TreeNode where upperid=@upperid and usermange=@usermange and len(ID)>12 for XML auto,XMLDATA"
cmdEquipment = New SqlClient.SqlCommand(strQuery, conEquipment)
cmdEquipment.Parameters.Add(New SqlClient.SqlParameter("@upperid", Request.QueryString("intID")))
cmdEquipment.Parameters.Add(New SqlClient.SqlParameter("@usermange", Trim(strIni))) conEquipment.Open() dstEquipment = New DataSet() dstEquipment.ReadXml(cmdEquipment.ExecuteXmlReader, XmlReadMode.Fragment)
dstEquipment.DataSetName = "TREENODES"
dstEquipment.WriteXml(Response.OutputStream)
conEquipment.Close()
End Sub在frmTreeDowith2.aspx中
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim conEquipment As System.Data.SqlClient.SqlConnection
Dim cmdEquipment As System.Data.SqlClient.SqlCommand
Dim dstEquipment As DataSet
Dim strQuery As String
Dim strIni As String’要对该变量赋值
conEquipment = New System.Data.SqlClient.SqlConnection("user id=sa;password=xxxxxxx;initial catalog=xxxxxx;data source=xxxx;Connect Timeout=30") strQuery = "select Name as Text from Equipment as TreeNode where upperid=@upperid and usermange='" & strIni & "' and len(ID)>12 for XML auto,XMLDATA"
cmdEquipment = New SqlClient.SqlCommand(strQuery, conEquipment)
cmdEquipment.Parameters.Add(New SqlClient.SqlParameter("@upperid", Request.QueryString("intJTID")))
cmdEquipment.Parameters.Add(New SqlClient.SqlParameter("@usermange", Trim(strIni))) conEquipment.Open()
dstEquipment = New DataSet()
dstEquipment.ReadXml(cmdEquipment.ExecuteXmlReader, XmlReadMode.Fragment)
dstEquipment.DataSetName = "TREENODES"
dstEquipment.WriteXml(Response.OutputStream)
conEquipment.Close()
End Sub
这样即可出现四层的树型数据浏览需5层时再添加窗体。你可以试一下,数据库为SQL,表结构在读程序中你可以推出来。只需建好库把上述程序copy到你开发的系统即可看到结果,别忘添加些数据向你的数据表中。挺复杂的,涉及到xml一些概念,你有更简便的方法吗?联系方式:Email:[email protected]