Como sou melhor em back-end prefiro gerar toda alimentação dos componentes com os módulos que implementei. Fazendo isso não preciso digitar um linha XML ou JSON. Implementar bar ou foo é questão de gosto.
Em 27 de abril de 2014 18:21, Eduardo Almeida <[email protected]>escreveu: > 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]> 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]> 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 >>> >>> >>> É 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] >>> 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] - 27 3262-1882 <27%203262-1882> / 27 9839 >>> 3755 <27%209839%203755> >>> >>> *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 >>> >>> >> >> =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 >> >> > > > =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> > <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 > >
=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
