Estoy usando Infragistics UltraWebGrid. Manejé su evento InitializeDataSource con una función que llena la propiedad DataSource de la cuadrícula. Excelente. Eso funciona. Cuando la cuadrícula determina que necesita datos, va y los obtiene.

Mi problema es que hay ocasiones en las que, debido a las acciones realizadas en la página, necesito volver al almacenamiento y obtener nuevos datos. Cuando hago esto, proporciono los datos que quiero usar a la propiedad DataSource y luego llamo a DataBind, no sucede nada. La cuadrícula no se une a su fuente de datos.

¿Existe un encantamiento de código que obligará a UltraWebGrid a vincularse a su DataSource mientras sigue manejando el evento InitializeDataSource?

0
Jeff King 23 feb. 2012 a las 01:31
1
¿Funciona si configura el DataSource en una llamada nula a DataBind, configura el DataSource en la lista actualizada y luego llama a DataBind? Si eso no funciona, ¿en qué evento (s) tiene esta lógica?
 – 
alhalama
23 feb. 2012 a las 05:05
Steve : el código fuente de la página tiene más de 500 líneas. Me llevará algún tiempo reducirlo a lo esencial para este problema. alhalama : No, configurar DataSource en nulo y luego llamar a DataBind no tiene ningún efecto. Estoy tratando de hacer esta lógica con un clic de botón que está fuera de la cuadrícula.
 – 
Jeff King
23 feb. 2012 a las 06:31

1 respuesta

La mejor respuesta

Gracias por las sugerencias. Terminé encontrando la solución (con un poco de ayuda de un compañero de trabajo). Aquí está el código (perdón por el VB):

grid.DataSource = Nothing
grid.DataBind()
grid.Clear()
grid.DataSource = theNewDataSource
grid.DataBind()

Aparentemente, debe restablecer el DataSource y llamar a Clear antes de configurar el DataSource en su fuente deseada y llamar a DataBind ().

2
Jeff King 23 feb. 2012 a las 17:15