Pregunta

Estoy trabajando en un proyecto en el que necesito usar el control Infragistics WebGrid para algunas listas de datos. Estoy cargando los datos en el lado del cliente utilizando JavaScript para mostrarlos en un Mapa, y luego necesito mostrar los mismos datos en múltiples WebGrids. Todos los datos disponibles se mostrarán en las WebGrids, pero solo un subconjunto de los datos (solo el que está actualmente a la vista) se trazará en el Mapa en un momento dado. Ya que estoy cargando los datos con JavaScript / Ajax, me gustaría cargarlos solo una vez, y usar el mismo mecanismo para llenar el control de WebGrid con datos también.

¿Alguien tiene algún consejo / sugerencia sobre cómo trabajar con WebGrid completamente desde el código JavaScript / Ajax del lado del cliente?

¿Fue útil?

Solución

El único pensamiento que viene a la mente está relacionado con el rendimiento. Descubrimos que la creación y el llenado dinámicos de filas para un UltraWebGrid fue considerablemente más lenta de lo que nos hubiera gustado. (En nuestro caso, estábamos moviendo filas de una cuadrícula a otra y tuvimos problemas de rendimiento cuando el número de filas era demasiado grande).

Si estuviera haciendo algo como lo describiste hoy, si fuera posible, rellenaría la cuadrícula desde el lado del servidor y mostraría los valores relevantes en el Mapa desde allí.

Como un descargo de responsabilidad agregado, usamos Infragistics 2007.1; No sé si 2008.x es mejor en esta área.

Otros consejos

Las webgrids de Infragistics exponen un modelo de objeto del lado del cliente muy complejo que podrá utilizar para completar el lado del cliente de datos.

Lo primero que querrá hacer es echar un vistazo al CSOM completo para el control webgrid, puede encontrar la versión actual del documento en: http://help.infragistics.com/NetAdvantage/NET/2008.3/CLR2.0/

Para hacer un breve ejemplo, deberá tomar una referencia a su (s) cuadrícula (s) y luego agregar algunas filas y datos. Probablemente sería más fácil configurar las definiciones de columna para sus cuadrículas en tiempo de diseño, en lugar de intentar hacerlo todo en JavaScript.

Primero: obtenga una referencia a su cuadrícula:

var grid = igtbl_getGridById('dataGridControlID');

Luego agregue una nueva fila:

var newRow = grid.Rows.addNew()

Una vez hecho esto, puede recorrer las columnas de su fila para completar los datos:

var oCols = newRow.Band.Columns;
for(var i=0; i < oCols.length; i++) {
    newRow.getCell[i].setValue(yourValue)
}

o diríjase a cada uno por clave para completar sus datos:

newRow.getCellFromKey(colKey).setValue(yourValue,fireEvents);
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top