Foro

Celda con formato

0
Saben sigo sin poder formatear una celda, por ejemplo traigo esto 12244287k y/o 122442972, y quiero que se muestre por ejemplo 12.244.287-k y/o 12.244.287-2, se que se puede con expresion regular de hecho esa ya la tengo pero lo que no es como se implementa para que lo muestre en la celda del grid, desde ya muchas gracias. Marcelo
0
Hola mugalde, si el problema específicamente es formatear el valor de una celda, entonces puedes usar un renderer. Por ejemplo: En la definición de tu ColumnModel de tu GridPanel:
columns: [   
    ...
    {header: "Monto", width: 75,  dataIndex: 'monto', renderer: montoFormato},
    ...   
]
Donde montoFormato es un function:
function montoFormato (val){   
   if(val > 0){   
     return '<SPAN style="COLOR: green">' + val + '</SPAN>';   
   }else {   
     return '<SPAN style="COLOR: red">' + val + '</SPAN>';   
   }
}   
El resultado de este ejemplo mostrará el valor de la celda de color verde si es positivo o color rojo si es negativo. Tu dentro de esta function, puedes aplicar tu expresión regular. Saludos.
0
Agradecido, pero ahora viene otra consulta y a "val" como le aplico una cadena regular????
0
Date una vuelta por esta página: <!-- m -->http://www.javascriptkit.com/jsref/regexp.shtml<!-- m --> Por ejemplo pPara validar un número de 7 dígitos, tendría que usar: var numberRegExp =new RegExp("\\d{7}", "g") alert( numberRegExp .test("1234567") ); //TRUE //"1234567" sería tu val alert( numberRegExp .test("1234") ); //FALSE Un saludo
0
usas tu funcion format sobre val
function montoFormato (val){   
   if(val > 0){   
     return '<SPAN style="COLOR: green">' + CustonFormat(val) + '</SPAN>';   
   }else {   
     return '<SPAN style="COLOR: red">' +  CustonFormat(val) + '</SPAN>';   
   }
}  
nota: las expresiones regulares no dan formato, solo compararias si la cadena tiene el formato que tienes en la expresion, echale una miradita a la funcion format de Ext para los Strings te puedes guiar por esa funcion <!-- s;) --><!-- s;) -->

¿Conoces a alguien que pueda responder esta pregunta? Comparte el link en Twitter o Facebook

Es necesario registrarse para poder participar en el foro! Si ya tienes una cuenta puedes entrar y comentar en este foro.