Pregunta

Me dieron un prototipo / maqueta de una cuadrícula escrita en html y javascript (a través de ExtJS) que ahora necesito implementar dentro de una aplicación web ASP.net. ¿Alguien tiene algún indicador sobre cómo pasar datos a la cuadrícula (específicamente a un GroupingStore)?

Preferiría no tener una proliferación de servicios web o páginas de ayuda que devuelvan XML / JSON, así que si hay una forma de usar devoluciones de llamada del cliente o métodos de página (no se puede decir que no estoy particularmente familiarizado con ninguno de los dos - buzzword bingo !) O algo así, eso sería preferido.

Por favor, no hay recomendaciones de que use jQuery, la cuadrícula ASP.net integrada o cualquier otro marco de UI. El uso de la grilla ExtJS ha sido ordenado por los poderes existentes, así que esa es la grilla que estoy usando, para bien o para mal :)

¿Fue útil?

Solución

Aquí hay una solución de baja tecnología. No requiere el uso de servicios web o cualquier otra tecnología adicional.

Paso 1

Tenga una página ASPX que tome un parámetro, e invoque de esta manera:

http://mysite.com/query.aspx?sql=select * from orders where status = 'open'

Paso 2

En el código que está detrás, haz algo como esto

void Page_Load(object sender, EventArgs e)
{
   Response.ContentType="text/json"; 
   DataTable contents = ExecuteDataTable(Request["sql"]);
   Response.Write( JRockSerialize( contents ) );
   Response.End();
}

Puede usar JRock para serializar una tabla de datos a JSON. En mi humilde opinión esto da el JSON más limpio.

Entonces, eso está haciendo que DataTable a JSON esté ordenado ...

ADVERTENCIA: Este es obviamente un ejemplo simplista. No debe pasar SQL en la cadena de consulta ya que no es segura (en su lugar, podría usar consultas y parámetros con nombre).

Paso 3

En su código ExtJS, cree una cuadrícula con el almacén de datos Json como se muestra en este Ejemplo de extensión . Establezca la url: del almacén de datos en la de su página query.aspx con los parámetros de cadena de consulta adecuados.

También deberá configurar las columnas para la cuadrícula, que se muestra nuevamente en el ejemplo de ExtJs.

Alternativamente...

Me impresionó mucho cuando miré las Coolite samples recientemente. Son socios de ExtJS y proporcionan un buen ASP.NET y amp; Experiencia ExtJS. Y no, no trabajo para ellos :) No he probado su grilla, pero podría ser indolora (a un precio).

Otros consejos

Creo que un servicio que simplemente devuelve las estructuras json para sus páginas es la mejor opción, bien resumida y reutilizable en toda la aplicación en lugar de los métodos de página.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top