ASP.NET - HELP - DataList con número de columnas variable

 
Vista:

HELP - DataList con número de columnas variable

Publicado por Pseudolus (3 intervenciones) el 26/11/2007 21:22:43
Estoy trabajando en una página de informes estadísticos que recoja impactos de diversas fuentes, mostrando un resultado parecido a esto:

FECHA 1 Impactos fuente 1 Impactos fuente 2 ... Impactos fuente n
FECHA 2 Impactos fuente 1 Impactos fuente 2 ... Impactos fuente n
...
FECHA N Impactos fuente 1 Impactos fuente 2 ... Impactos fuente n

El origen de los datos es un DataSet, el cual relleno manualmente (las fuentes pueden proveer de distintas bases de datos, lo que me obliga a realizar las consultas separadamente, "unirlas" mediante relaciones, y crear el DataSet a mano después. Esta primera parte está más que superada

El problema viene a la hora de mostrar los datos. De antemano, sólo sé que dispongo de una columna FECHA y una columna IMPACTOS1 (correspondiente a la primera fuente); a partir de aquí, puedo encontrarme con una columna IMPACTOS2, IMPACTOS3, ... (y así hasta que no hayan más columnas)

En el Header Template he conseguido insertar las columnas necesarias al DataList de la siguiente manera:

<% For Each Servicio In MyDtsListaServicios.Tables("ListaServicios").Rows%>
<td width=100px align=left><%Response.Write(Servicio("IdEstadistica").ToString())%></td>
<% Next%>

MyDtsListaServicios es un SQLDataSource que tiene tantos registros como columnas estadísticas tendrá el DataList, y la información que saco de aquí es un identificativo para mostrar en la cabecera de las columnas

El problema viene a la hora de mostrar los datos, ya que debo recurrir al DataBinder.Eval (o al Eval a secas)

<% NumServicio=1%>
<% For Each Servicio In MyDtsListaServicios.Tables("ListaServicios").Rows%>
<td width=100px align=left><%#Eval("Impactos" & NumServicio)%></td>
<% NumServicio=NumServicio+1%>
<% Next%>

Esto, que en principio debería funcionar, fracasa estrepitosamente. NumServicio es una variable global que he declarado en la zona del código, pero mientras que el NumServicio que se incrementa lo hace a nivel de cliente, el NumServicio que se usa en el Eval está a nivel de servidor, por lo que siempre estoy consultando la columna "Impactos0" (la cual, evidentemente, no existe)

¿Alguna sugerencia para solucionar este embrollo?

Gracias a todos
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder