Publicidad

Llenar un Repeater o DataList con un DataTable.


Por Alex el 29/12/2008 , Comentarios: 1

Comparte este artículo:        




A veces necesitamos asociar los datos de una colección o de un array a un DataSource con lo que debemos crearnos un DataSet o DataTable. Podemos recorrer el array o la colección e ir creando un DataTable para posteriormente asociarlo al DataSource.


A través de un ejemplo veremos lo sencillo que es asociar un array a un Repeater creando un DataTable.

En el ejemplo los datos vienen seleccionados desde un listbox y a través del Request.Form obtenemos los valores seleccionados

Imagen

Cuando pulsamos el botón “asociar” asociamos los valores del listbox seleccionados con el repeater.

Imagen

El código es el siguiente:

Creamos un Datatable y creamos las columnas que tendrá el repeater

DataTable dt = new DataTable();

dt.Columns.Add("Elemento", typeof(string));
dt.Columns.Add("Posicion", typeof(string));

Recogemos los valores seleccionados del listbox y los ponemos en un array.

string[] elementosLista = Request.Form["ListBox1"].Split(new char[] { ',' });

Recorremos el array para ir creando los valores del DataTable

for (int i = 0; i < elementosLista.Length; i++) {

dt.Rows.Add(new string[2] { elementosLista[i].ToString(), i.ToString()});

}

Una vez creado el DataTable lo asociamos al repeater.

Repeater1.DataSource = dt;
Repeater1.DataBind(); Desde el Repeater obtendremos los valores del DataTable de la siguiente forma:

<%# DataBinder.Eval(Container, "DataItem.Elemento")%>

Donde Elemento es el que hemos creado en las columnas del DataTable

<ItemTemplate>
<tr>
<td bgcolor="#efefef" align=center width=4%><input type=checkbox name=chk_<%# DataBinder.Eval(Container, "DataItem.Elemento")%>>
<td bgcolor="#efefef" align=left width=70%><%# DataBinder.Eval(Container, "DataItem.Elemento")%></td>
<td bgcolor="#efefef" align=center><%# DataBinder.Eval(Container, "DataItem.Posicion") %></td>
<td bgcolor="#efefef" align=center></td>
</tr>
</ItemTemplate>



Enlaces relacionadas:

Código de ejemplo 

Y esto es todo!!
Alex.


Si te ha gustado el artículo compartelo en:        


Publicidad

También puede interesarte:

Limpiar datos de un combobox en winforms.

Limpiar datos de un combobox en winforms.

Por Alex, el 23/03/2010

Crear, copiar y borrar bases de datos SQL Server desde c#.

Crear, copiar y borrar bases de datos SQL Server desde c#.

Por Alex, el 07/03/2010

Escribir en un excel desde c#.

Escribir en un excel desde c#.

Por Alex, el 04/03/2010

El evento SelectedIndexChanged no funciona

El evento SelectedIndexChanged no funciona

Por Alex, el 26/12/2008

Crear un DataSet vacío

Crear un DataSet vacío

Por Alex, el 26/12/2008

Filtrar un DataSet desde código C#

Filtrar un DataSet desde código C#

Por Alex, el 11/11/2008


Añadir un comentarios:

Nombre:
Email: (no se publica el email)

avatar

Mariano 12/08/2018 06:30:06

Hola Alex, me podrias enviar el codigo de ejemplo o volverlo a subir porque no se puede bajar!
Gracias




SIGUENOS EN

ARCHIVO

Publicidad

.