Red de conocimientos turísticos - Conocimientos sobre calendario chino - Utilice controles de repetidor anidados para mostrar datos jerárquicos

Utilice controles de repetidor anidados para mostrar datos jerárquicos

Una introducción

Este artículo describe cómo utilizar controles de Repetidor anidados para mostrar datos jerárquicos. Por supuesto, también puede aplicar esta tecnología a otros controles vinculados a listas, como DataGrid. que contiene DataGrid DataList contiene una combinación de DataList, etc.

Segundo enlace a la tabla principal

Agregue un nuevo formulario web al proyecto de aplicación llamado Nestedrepeater aspx Arrastre un repetidor desde la caja de herramientas Conjunto el atributo ID del control como padre en esta página. Cambie a la vista HTML y seleccione la siguiente . Copie el código en la posición correspondiente del control Repetidor. Tenga en cuenta que al pegar, utilice la función pegar como. las declaraciones contienen sintaxis de enlace de datos y son muy simples

<itemtemplate><b><%# DataBinder Eval(Container DataItem au_id ) %></b><br></itemtemplate>

Abra Nestedrepeater Aspx cs. Este archivo de separación de código elimina el siguiente código y lo agrega al evento Page_Load. Su función es establecer una conexión y vincularse a Pubs (esta base de datos es la base de datos de demostración de SQL). server Esta base de datos también se instalará al instalar la tabla de autores de net framework en el control del repetidor

public void Page_Load(){ SqlConnection cnn = new SqlConnection( server=(local);database=pubs;uid. =sa;pwd=; ); SqlDataAdapter cmd = new SqlDataAdapter( select * de los autores cnn); DataSet ds = new DataSet(); la tabla secundaria se insertará aquí

parent DataSource = ds Tables[authors]; Page DataBind(); cnn Close();}

Agregue el siguiente espacio de nombres usando System Data SqlClient en el encabezado del archivo; modifique la cadena de conexión según su propia situación y guárdela. Compile la aplicación y abra esta página en el navegador. El resultado de salida es similar al siguiente formato

Tres enlaces a la subtabla

En el HTML de la página El propósito de agregar el siguiente código a la vista es agregar el control Repetidor secundario a la plantilla de proyecto del Repetidor principal para formar un nido.

<%# DataBinder Eval(Container DataItem [\ title_id\ ] ) %><br></itemtemplate></asp:repeater>

Establezca la propiedad DataSource del control repetidor secundario:

) %> >

Agregue las siguientes instrucciones en la parte superior de la página (tenga en cuenta que está en el archivo aspx):

 <%@ Importar espacio de nombres= Datos del sistema %>

En el archivo cs, reemplace la parte del comentario en Page_Load (//El enlace de datos de la subtabla se insertará aquí) con el siguiente código:

SqlDataAdapter cmd = new SqlDataAdapter( seleccione * de titleauthor cnn);cmd Fill(ds titles);ds Relations Add( myrelation ds Tables[ autores ] Columnas[ au_id ] ds Tables[ titles ] Columnas[ au_id ]); aplicación para ver las modificaciones en el navegador El formato de visualización de la página es similar al siguiente formato:

PS BU BU PC BU TC

Cuatro códigos completos

Nestedrepeater aspx <%@ Idioma de página= C# Hereda= nombre de tu proyecto nestedrepeater %><%@ Importar espacio de nombres= Datos del sistema %>

<><body><form runat=server>

<! iniciar repetidor principal ><asp :repeater id= padre runat= servidor ><itemtemplate> 

< ! iniciar repetidor secundario > <asp: id de repetidor= origen de datos secundario= <%# ((DataRowView)Container DataItem) Row GetChildRows( myrelation ) %> runat= servidor > 

</itemtemplate></asp:repeater><!

</form>< /body></>Nestedrepeater aspx cs usando el sistema;usando los datos del sistema;usando los datos del sistema SqlClient;usando el sistema Web;usando el sistema Web SessionState;usando la interfaz de usuario web del sistema;usando los controles web de la interfaz de usuario web del sistema <; /p>

espacio de nombres nombre de su proyecto {clase pública nestedrepeater: página de interfaz de usuario web del sistema {protegida interfaz de usuario web del sistema WebControls repetidor pub;

lic nestedrepeater() {    Page Init += new System EventHandler(Page_Init);   } public void Page_Load(object sender EventArgs e)  {   //Crea la conexión y el DataAdapter para la tabla Authors   SqlConnection cnn = new SqlConnection( server=(local); base de datos=pubs;uid=sa;pwd= ); SqlDataAdapter cmd = new SqlDataAdapter( seleccione * de los autores cnn);

//Crear y completar el DataSet DataSet ds = new DataSet(); (ds Authors);

//Crea un segundo DataAdapter para la tabla de títulos SqlDataAdapter cmd = new SqlDataAdapter( select * from titleauthor cmd Fill(ds titles

/); /Crear la relación antes de las tablas Autores y Títulos  ds Relations Add( myrelation  ds Tables[ Authors ] Columns[ au_id ]  ds Tables[ titles ] Columns[ au_id ]); control del repetidor principal y llamada DataBind   padre DataSource = ds Tables[autores];   Página lishixinzhi/Article/program/net/201311/15734