Tengo un JQGrid con 2 columnas en las que llegaré al servidor y obtendré algunos datos, luego concatenaré algunas cadenas basadas en los filtros en el servidor y quiero configurar esto como título y también quiere cambiar los nombres de las columnas en función de esos filtros. ¿Hay alguna forma de establecer los nombres de las leyendas y las columnas en función del resultado de la acción del servidor?JQGrid set caption and column name
6
A
Respuesta
12
Me parece interesante su pregunta.
Podemos empezar con la simple cuadrícula:
$("#list").jqGrid({
url: 'ColumnNamesAndTitelFromServer.json',
datatype: 'json',
loadonce: true,
colNames: ['Name', 'Email'],
colModel: [
{name: 'name', width: 100},
{name: 'email', width: 150}
],
rowNum: 5,
rowList: [5, 10, 20],
pager: '#pager',
gridview: true,
rownumbers: true,
sortname: 'name',
sortorder: 'asc',
caption: 'Just simple local grid',
height: 'auto'
});
y los datos JSON:
{
"total": 1,
"page": 1,
"records": 2,
"rows": [
{"id": "id1", "cell": ["John", "[email protected]"]},
{"id": "id2", "cell": ["Michael", "[email protected]"]}
]
}
vamos a recibir los siguientes resultados
(ver the demo)
Ahora que se extienden los datos JSON con nuestra información personalizada adicional:
{
"total": 1,
"page": 1,
"records": 2,
"rows": [
{"id": "id1", "cell": ["John", "[email protected]"]},
{"id": "id2", "cell": ["Michael", "[email protected]"]}
],
"userdata": {
"title": "Das ist der Titel bestimmt beim Server",
"columnNames": {
"name": "Die Name",
"email": "Die E-Mail"
}
}
}
En el ejemplo anterior que acabo de definir en userdata
el título y los nombres de las columnas de la cuadrícula en lengua alemana. Para leer y utilizar el userdata
podemos añadir el siguiente controlador loadComplete
caso a la red:
loadComplete: function() {
var $grid = $(this), columnNames, name,
userdata = $grid.jqGrid('getGridParam', 'userData');
if (userdata) {
if (userdata.title) {
$grid.jqGrid('setCaption', userdata.title);
}
if (userdata.columnNames) {
columnNames = userdata.columnNames;
for (name in columnNames) {
if (columnNames.hasOwnProperty(name)) {
$grid.jqGrid('setLabel', name, columnNames[name]);
}
}
}
}
}
Ahora la misma voluntad de rejilla se parece
(ver another demo)
Cuestiones relacionadas
- 1. SQL UNION FOR XML name output column
- 2. Entity Framework 5 Invalid Column Name error
- 3. MySQL column name standards/conventions
- 4. jQGrid Column Chooser Modal Overlay
- 5. linq join on guid and string column
- 6. Inno Setup uninstall executable location and name
- 7. create db and user mysql and set privileges php
- 8. semáforo de Javascript/test-and-set/lock?
- 9. using fancybox set height and width
- 10. ¿Para qué se usa Test-and-Set?
- 11. android get contact picture, name, and mobile number
- 12. Jquery Selector for Element type and Class name?
- 13. hibernate column uniqueness question
- 14. div # name vs #name
- 15. jqGrid número formateador uso
- 16. sum of array column
- 17. problema de superposición jqGrid
- 18. Cómo centrar un JqGrid
- 19. Zend Framework MySQL Update Column
- 20. jqGrid getRowData devuelve null
- 21. EJB3 - @Column (insertable = "false") pregunta
- 22. jqgrid setGridParam tipo de datos: local
- 23. jqGrid y lector JSON
- 24. jQuery cargando datos en jqGrid
- 25. columna de imagen en jqGrid?
- 26. JQGrid: obtener múltiples valores de filas verificadas en JQGrid por correo
- 27. JQgrid establecer altura de fila
- 28. postData para subgrid en jqgrid no funciona?
- 29. cuadrícula de recarga jqGrid
- 30. PHPExcel Column Loop
gracias funcionó perfectamente – Leoadell
@Leoadell: ¡De nada! – Oleg