easyui javascript json datagrid jquery-easyui jeasyui

javascript - demo easyui



columnas easyui datagrid styler (0)

Tengo una cuadrícula de datos con easyui, creo dinámicamente los encabezados ya que dependen de mi base de datos. ya tengo mi encabezado. este es el objeto json que se pasa a la cuadrícula de datos.

[[ {"field": "status","title": "Estatus","align": "center","rowspan": "2"}, {"field": "Numero","title": "Orden","align": "center","rowspan": "2"}, {"field": "FechaRegistro","title": "Fecha","align": "center","rowspan": "2"}, {"field": "T1","title": "00:02:00","align": "center"}, {"field": "T2","title": "00:24:00","align": "center"}, {"field": "T3","title": "00:04:00","align": "center"}, {"field": "T4","title": "02:00:00","align": "center"}, {"field": "Cierre","title": "Fecha y Hora<br //>de Cierre","align": "center","rowspan": "2"} ],[ {"field": "P1","title": "Informacion <br//>tecnica para <br//>aprobacion","align": "center","styler": "formatColor"}, {"field": "P2","title": "Aprobacion de<br//> Informacion<br//>Tecnica cliente","align": "center","styler": "formatColor"}, {"field": "P3","title": "Informacion<br//>Tecnica de<br//>Proceso","align": "center","styler": "formatColor"}, {"field": "P4","title": "Compra y<br//>Recepcion de<br//>Materiales","align": "center","styler": "formatColor"} ]]

y estoy teniendo una función en mi .js

function formatColor(val,row,lol){ var col = ""; for(var name in row){ col = ""; var value = row[name]; if(value === val){ col = name; } if(col !=="" && val!==""){ var opts = $(''#dg'').datagrid(''getColumnOption'',col); var pr =opts["field"].substring(1); var opts2 = $(''#dg'').datagrid(''getColumnOption'', ''T''+pr); var time = opts2["title"]; if(val >= time){ return ''background-color:#ff0000;color:white;''; } else{ return ''background-color:#00ff00;color:white;''; } } } return val; }

pero obtengo esto en mi consola como un error.

Uncaught TypeError: col.styler is not a function

mi cuadrícula está siendo poblada con una consulta cada segundo con algunas veces en las columnas P1, P2, P3, P4, el T1, T2, T3, T4 son solo el tiempo establecido que esa columna debe tomar. Así que estoy tratando de hacer eso si el valor de mi columna es más alto que el que se convertirá en fondo rojo. He logrado hacer que esto funcione en un violín, el problema es que aquí los encabezados no se cargan dinámicamente, y eso es lo que hace que no funcione (por lo que he visto) aquí está el enlace de violín

Y esta es la forma en que estoy configurando los encabezados.

function RefreshHeaders(){ $.ajax({ url:"includes/getHeader.php", cache: false, timeout: 5000, async: true, success: function(data){ //console.log(data); var objekJSON=jQuery.parseJSON(data); $(''#dg'').datagrid({ fit:true, fitColumns:false, columns:objekJSON, url:"includes/Get_Orders.php" }); } }); }

Gracias,