Esta clase Néfeliza el control DataTables.net, permitiendo incluir en nuestras web Browses para la representación y/o edición de datos de una manera sencilla y muy vistosa.
Tenemos Néfelizada la versión 1.10.22
Ha sido realizada como una contribución a Néfele.
PROCEDURE DataTable( o )
WITH OBJECT WDataTable():New(o)
:cId := "browse5"
:CssClass:= "cell-border"
:cTitle := "Celdas, rejilla"
:AddButton("print")
:lButtonPDF := .T.
WITH OBJECT :Configure()
:SetColumns({"Nombre", "Puesto", "Agencia", "Extn.", "Fecha de inicio", "Salario"})
:data := GetDataArray()
END
:Create()
END
RETURN
//------------------------------------------------------------------------------
function GetDataArray()
return {;
{ "Tiger Nixon", "System Architect", "Edinburgh", "5421", "2011/04/25", "$320,800" },;
{ "Garrett Winters", "Accountant", "Tokyo", "8422", "2011/07/25", "$170,750" },;
{ "Ashton Cox", "Junior Technical Author", "San Francisco", "1562", "2009/01/12", "$86,000" },;
{ "Cedric Kelly", "Senior Javascript Developer", "Edinburgh", "6224", "2012/03/29", "$433,060" },;
{ "Airi Satou", "Accountant", "Tokyo", "5407", "2008/11/28", "$162,700" },;
}
| Nombre | Init | Descripción | Versión |
|---|---|---|---|
| cClassId | 'dtb' | 0.3 | |
| cId | Nil | Identificador único para cada Control | 0.3 |
| cTitle | Texto que aparecerá en la cabecera del control | 0.3 | |
| CssClass | “compact” | Estilo de la Tabla | 0.3 |
| lResetLocalStorage | .T. | Limpia el Local Storage del datatable antes de crearlo | 0.3 |
| lButtonCopy | .F. | Habilita el botón de de copiar al portapapeles | 0.3 |
| lButtonCSV | .F. | Habilita el botón de exportar a CSV | 0.3 |
| lButtonExcel | .F. | Habilita el botón de exportar a EXCEL | 0.3 |
| lButtonPDF | .F. | Habilita el botón de exportar a PDF | 0.3 |
| lButtonPrint | .F. | Habilita el botón de Imprimir | 0.3 |
| lSelectable | .F. | Habilita la selección de filas | 0.3 |
| cSelectStyle | “os” | Define el tipo de selección (os, single, multi y multi+shift ) | 0.3 |
| lRowReOrder | .F. | Habilita la reordenación de las filas | 0.3 |
| lScrollToTop | .T. | Cuando se crea la tabla se posiciona en la primera fila | 0.3 |
| lSmooth | .T. | Hace un smooth scroll para saltar | 0.3 |
| cTopDivClass | “z-depth-4” | Clase CSS por defecto del wBevel que contiene el scroll | 0.3 |
| Nombre | Descripción | Versión |
|---|---|---|
| Configure | Este método nos devuelve el objeto options del DataTables, las propiedades de este objeto están documentadas en la ayuda de DataTables.net | 0.3 |
| AddButton | Añadir botones estándar configurador por defecto | 0.3 |
| AddButtonEx | Añadir botones personalizados | 0.3 |
| Install | Añade a la página todo el código JS y CSS necesario para que funcione el DataTable | 0.4 |
En la Nefelización del control hemos incluido dos funciones JavaScript que pueden sernos útiles en nuestras APP;
dt_getSelected( dt, e ) -> Nos retorna las filas que están seleccionadas.
| Parametro | Descripción |
|---|---|
| dt | cId del wDataTable |
| e | Elemento del data que queremos recuperar; si se alimento data es un JSon se indicaremos la clave y si es una array en indice (tenga en cuenta que los array empiezan en 0), si no indicamos nada nos retorna la fila completa. |
dt_getValues( dt, r ) -> Nos retorna el valor de las columnas Input y Select.
| Parametro | Descripción |
|---|---|
| dt | cId del wDataTable |
| r | Índice de la fila a recuperar, si no indicamos nos recupera todas. |
Podemos utilizar cualquiera de ellas en los aParam de los controles que hacen llamadas a nuestro CGI.
:AddParam({"seleccion","js:dt_getSelected('mibrowse')"})
:AddParam({"editables","js:dt_getValues('mibrowse')"})
A Joaquim Ferrer Godoy quim_ferrer@yahoo.es por contribuir con este fantástico control a Néfele.