Cómo llenar un Control TreeView de ActiveX mediante ASP

Seleccione idioma Seleccione idioma
Id. de artículo: 183329 - Ver los productos a los que se aplica este artículo
Este artículo se ha archivado. Se ofrece "tal cual" y no se volverá a actualizar.
Expandir todo | Contraer todo

En esta página

Resumen

En este artículo se describe cómo utilizar código de páginas Active Server (ASP) para llenar un control TreeView de ActiveX. La técnica mostrada aquí aprovecha la capacidad del ASP para generar dinámicamente una función de VBScript para llenar un control de ActiveX de cliente, basándose en los resultados recuperados a través de objetos de base de datos ActiveX (ADO).

Más información

En el ejemplo siguiente se utiliza código ASP para llenar un control TreeView de ActiveX. En este ejemplo se utiliza la datos de ejemplo pubs suministrada con Microsoft SQL Server. Necesita crear un nombre de origen de datos (DSN) que llama a PUBS en el servidor Web que señala a la base de datos pubs para ejecutar este ejemplo.

Este código muestra cómo se ASP utiliza ADO para ejecutar una instrucción SELECT que recupera una lista de autores y sus títulos de libros asociado. El resultado es un control TreeView que enumera a los autores como nodos primarios del control, mientras que los títulos de libros correspondientes aparecen como nodos secundarios.

Código de ejemplo

   <%@ LANGUAGE="VBSCRIPT" %>

   <HTML>
   <HEAD>
   <META HTTP-EQUIV="Content-Type" content="text/html; charset=iso-8859-1">
   <TITLE>Sample Tree Control</TITLE>
   </HEAD>
   <BODY>
   <OBJECT ID="TreeView1" WIDTH=300 HEIGHT=400
    CLASSID="CLSID:0713E8A2-850A-101B-AFC0-4210102A8DA7">
       <PARAM NAME="_ExtentX" VALUE="7938">
       <PARAM NAME="_ExtentY" VALUE="10583">
       <PARAM NAME="_Version" VALUE="327682">
       <PARAM NAME="LineStyle" VALUE="1">
       <PARAM NAME="Style" VALUE="6">
       <PARAM NAME="Appearance" VALUE="1">
   </OBJECT>

   <SCRIPT LANGUAGE="VBScript">
      TreeView1.Font.Name = "Arial"
      TreeView1.Font.Size = 10

   <%
   '************ Construct SQL Statement ******************************

    sSQL = "SELECT authors.au_id, authors.au_fname + ' ' +
    authors.au_lname as 'author', titles.title"
      sSQL = sSQL & " FROM authors"
      sSQL = sSQL & " JOIN titleauthor ON authors.au_id=titleauthor.au_id"
      sSQL = sSQL & " JOIN titles ON titleauthor.title_id =
    titles.title_id"
      sSQL = sSQL & " ORDER BY authors.au_lname, authors.au_fname,
    authors.au_id, titles.title"


   '************ Create Connection and Recordset **********************

      Set cnnPubs = Server.CreateObject("Adodb.connection")
      cnnPubs.open "DSN=pubs", "sa" 'Point to a DSN called PUBS.
      Set rstAuthorsTitles = Server.CreateObject("adodb.recordset")
      Set rstAuthorsTitles = cnnPubs.execute(sSQL)


   '************ Populate the Control ******************************

      Dim sTmpAuthorId
      sTmpAuthorId = ""
      Do While Not rstAuthorsTitles.EOF 'Check for end of recordset.
         If rstAuthorsTitles(0) <> sTmpAuthorId Then 'Check for empty or
                                                     'the same author_id.
            Response.Write "TreeView1.Nodes.Add , , " & Chr(34) &_
               rstAuthorsTitles(0) & Chr(34) & "," & Chr(34) &_
               rstAuthorsTitles(1) & Chr(34) & chr(10) & chr(13)
      'Add author to root node.
            sTmpAuthorId = rstAuthorsTitles(0)
         End If

     '********* Add the titles as a child node to the author *****

     Response.Write Chr(10) & "TreeView1.Nodes.Add " & Chr(34) & _
              rstAuthorsTitles(0) & Chr(34) & ", 4,," & Chr(34) & _
              rstAuthorsTitles(2) & Chr(34) & chr(10) & chr(13)
      rstAuthorsTitles.MoveNext
     Loop
   %>

   </SCRIPT>
   </BODY>
   </HTML>
				

Propiedades

Id. de artículo: 183329 - Última revisión: sábado, 22 de febrero de 2014 - Versión: 3.3
La información de este artículo se refiere a:
  • Microsoft Data Access Components 2.0
  • Microsoft Data Access Components 2.1 Service Pack 2
  • Microsoft Data Access Components 2.5
  • Microsoft Data Access Components 2.6
  • Microsoft Data Access Components 2.7
  • Microsoft Active Server Pages 4.0
  • Microsoft Internet Information Server 4.0
  • Servicios de Microsoft Internet Information Server 5.0
Palabras clave: 
kbnosurvey kbarchive kbmt kbhowto KB183329 KbMtes
Traducción automática
IMPORTANTE: Este artículo ha sido traducido por un software de traducción automática de Microsoft (http://support.microsoft.com/gp/mtdetails) en lugar de un traductor humano. Microsoft le ofrece artículos traducidos por un traductor humano y artículos traducidos automáticamente para que tenga acceso en su propio idioma a todos los artículos de nuestra base de conocimientos (Knowledge Base). Sin embargo, los artículos traducidos automáticamente pueden contener errores en el vocabulario, la sintaxis o la gramática, como los que un extranjero podría cometer al hablar el idioma. Microsoft no se hace responsable de cualquier imprecisión, error o daño ocasionado por una mala traducción del contenido o como consecuencia de su utilización por nuestros clientes. Microsoft suele actualizar el software de traducción frecuentemente.
Haga clic aquí para ver el artículo original (en inglés): 183329

Enviar comentarios

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com