On 26/04/2014 21:20, Lucas Moraes wrote:
Nilton com JSON você só conseguira alimentar sua Grid com os dados,
mas não conseguira criar o cabeçalho com o nome dos campos. Com XML
você consegui criar o cabeçalho e também alimentar a Grid. Esse é um
dos motivos que eu uso apenas XML no DHTMLX.
Se esta interessado em usar XML veja isso:
http://www.dhtmlx.com/docs/products/docsExplorer/doc/dhtmlxxml/index.html
Falou.
Na verdade, não é bem assim.
Sim, originalmente, a lib não te permite configurar grids com JSON,
porém, isso poderia ser facilmente implementado quando vc implementa
camadas. No exemplo á seguir tenho dois objetos literais (JSON). Um
armazena estado, configurações e modelo de dados. Na outra eu instancio
componentes e controlo a aplicação. Não há necessariamente uma
necessidade de se criar views, uma vez que os próprios componentes já
geram as 'views' durante o runtime.
var model = {
"conf_grid": {
"headers": "ID,Form label,Form name",
"ids": "form_id,formlabel,formname",
"widths": "90,450,0",
"colaligns": "right,left,left",
"coltypes": "ro,ro,ro",
"colsorting": "int,str,str"
}
}
var myController = {
uid = null,
model : null
,grid : []
,_grid : function( uid )
{
var self = this;
self.grid[ uid ] = self.layout[ uid ].cells("a").attachGrid();
self.grid[ uid ].setHeader( self.model.conf_grid.headers );
self.grid[ uid ].setColumnIds( self.model.conf_grid.ids );
self.grid[ uid ].setInitWidths( self.model.conf_grid.widths );
self.grid[ uid ].setColAlign( self.model.conf_grid.colaligns );
self.grid[ uid ].setColTypes( self.model.conf_grid.coltypes );
self.grid[ uid ].setColSorting( self.model.conf_grid.colsorting );
self.grid[ uid ].init();
}
,start : function( )
{
var self = this;
self.uid = "myAppName" + ((new Date()).getTime());
self._grid( self.uid );
}
,init : function( model )
{
var self = this;
self.model = model;
}
}
myController.init( model );
window.onload = function()
{
myController.start();
}
Nota : estou usando array associativo ( grid : [] ) para armazenar
instancias de componente pois dessa forma vc consegue facilmente, dentre
outras coisas, por exemplo, executar a mesma aplicação em diferentes
instancias no mesmo browser. Em outras palavras, voce poderia rodar a
mesma aplicação em diferentes instancias de DHTMLXwindow.
*Resumindo*
primeiro você deve se perguntar:
por que quero usar metadados (JSON, XML) para configurar grids?
Configurar grids com metadados é muito util quando você deseja usar
metadados gerados no servidor ou via metaprogramming.
Configurar grids usando metadados só porque é cool, na verdade é um tiro
no pé.
Na verdade, gerar metadados no servidor para configurar componentes no
cliente sem motivos lógicos você estará apenas dificultando a vida de um
programador front end que for trabalhar no seu código. Porque um
programador front end, sem rodar a aplicação, não conseguirá entender
qual é a estrutura final que sua grid terá, ao menos que ele consiga
também interpretar o seu código server side que gera os metadados.
Em outras palavras, ele não conseguirá ter em mente o design da grid sem
compreender o server side ou caso não haja algum tipo de documentação
que indique a estrutura do metadado gerado e "injetado" na aplicação via
requisição http (ajax por exemplo).
Então, nesse caso a premissa "keep it simple, stupid" valerá muito mais
do que ter um código "cool".
my cents
Em 26 de abril de 2014 19:01, Nilton OS <[email protected]
<mailto:[email protected]>> escreveu:
Perdão Eduardo, estou me referindo a esse comentário aqui.
Great work! Does the dhtmlxGrid now support a JSON payload for the
header or still XML only?
Unfortunately, this version won't support a JSON payload for the
header.
É correto a afirmação ?
..............................................................................................
*Nilton OS* | *Working Linux 15 years ago* | linuxpro.com.br
<http://www.linuxpro.com.br>
/"//Só tem o direito de criticar aquele que pretende ajudar. AL"/
Em 26 de abril de 2014 12:06, Eduardo Almeida
<[email protected]
<mailto:[email protected]>> escreveu:
On 26/04/2014 11:49, Nilton OS wrote:
No final de Maio vai sair a versão 4.0 do Framework JS DHTMLX
http://www.dhtmlx.com/blog/?p=2225
Pena que ainda não suporta JSON para o GRID de Dados.
I'm sorry????
MAN, suporta JSON sim. Ate versão 3.5, a estrutura do JSON
esperado pela grid era bem peculiar ... a partir da 3.5, vc
foi implementado o suporte á mais um model, digamos que um
modelo de JSON mais genérico:
row = {
col1 : "foo",
col2 : "bar",
col3 : "baz"
}
Na versão 4.0, ha ainda uma nova feature bem produtiva, foi
implementado um novo método padrão de carregamento de dados
que funciona exatamente igual em todos os componentes. Até
então, cada componente possuia uma forma diferente de carregar
dados, bem como não havia muita similaridade no modelo de
estrutura de dados (JSON)
my cents
Ã0/00 uma ótima lib para criar interfaces para WEB bem legais.
=begin disclaimer
Sao Paulo Perl Mongers:http://sao-paulo.pm.org/
SaoPaulo-pm mailing list:[email protected]
<mailto:[email protected]>
L<http://mail.pm.org/mailman/listinfo/saopaulo-pm>
<http://mail.pm.org/mailman/listinfo/saopaulo-pm>
=end disclaimer
--
Eduardo Almeida - Software Engineer
[email protected]
<mailto:[email protected]> - 27 3262-1882
<tel:27%203262-1882> / 27 9839 3755 <tel:27%209839%203755>
*WEB2 Solutions* - Inovando, sempre!
=begin disclaimer
Sao Paulo Perl Mongers: http://sao-paulo.pm.org/
SaoPaulo-pm mailing list: [email protected]
<mailto:[email protected]>
L<http://mail.pm.org/mailman/listinfo/saopaulo-pm>
=end disclaimer
=begin disclaimer
Sao Paulo Perl Mongers: http://sao-paulo.pm.org/
SaoPaulo-pm mailing list: [email protected]
<mailto:[email protected]>
L<http://mail.pm.org/mailman/listinfo/saopaulo-pm>
=end disclaimer
=begin disclaimer
Sao Paulo Perl Mongers: http://sao-paulo.pm.org/
SaoPaulo-pm mailing list: [email protected]
L<http://mail.pm.org/mailman/listinfo/saopaulo-pm>
=end disclaimer
--
Eduardo Almeida - Software Engineer
[email protected] - 27 3261-0082 / 27 9839 3755
*WEB2 Solutions* - Inovando, sempre!
=begin disclaimer
Sao Paulo Perl Mongers: http://sao-paulo.pm.org/
SaoPaulo-pm mailing list: [email protected]
L<http://mail.pm.org/mailman/listinfo/saopaulo-pm>
=end disclaimer