SlideShare uma empresa Scribd logo
1 de 13
Ext Framework javascript multipropósito Christiano Milfont
Getting Started Frameworks base – YUI, Prototype ou JQuery <script src=&quot;ext-1.0/adapter/yui/yui-utilities.js&quot;></script> <script src=&quot;ext-1.0/adapter/yui/ext-yui-adapter.js&quot;></script> <script src=&quot;ext-1.0/ext-all.js&quot;></script> Adapter - Interface que abstrai a utilização Ext Components  Css  <style type=&quot;text/css&quot; media=&quot;screen&quot;> @import url('inc/ext-1.0/resources/css/ext-all.css'); @import url('inc/ext-1.0/resources/css/ytheme-aero.css'); </style>
Componentes principais ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Class Ext.Element Representa um elemento no DOM var el = Ext.get(&quot;my-div&quot;); var el = getEl(&quot;my-div&quot;); var el = Ext.get(myDivElement); var myDiv = document.getElementById('myDiv'); Manipulando via DOM  Capturando um elemento DOM com o Element  A classe Element abstrai a manipulação aos elementos DOM com métodos que facilitam as operações myDiv.highlight(); myDiv.addClass('meuEstilo');  // Adiciona uma nova classe myDiv.center();  // Centraliza o elemento myDiv.setOpacity(.25);  // Aplica uma transparência
Class Ext.CompositeElement Representa uma coleção de Element add(String/Array els) //Adiciona elementos ao Composite each(Function fn, [Object scope]) // chamada à função passada, passando (el, this, index) para cada item item(Number index) // retorna um Element pelo index especificado var els = Ext.Element.select(&quot;#nomediv .classe&quot;); els.setWidth(100); // todos os elementos com largura 100 Classe Composite que fornece métodos que agem sobre todos os itens da coleção de Element. Metódos da classe
Classes de  Layout Essa classe representa uma região de um layout Essa classe representa um painel de conteúdo em uma região Ext.ContentPanel Ext.BasicLayoutRegion Ext.LayoutRegion extends Ext.BasicLayoutRegion Classe que representa uma região em um Layout Manager e adiciona o suporte a barras de titulos e tabpanels Ext.LayoutManager Ext.BorderLayout extends Ext.LayoutManager Classe base dos layout managers Classe que representa um layout manager baseado nas interfaces do desktop. Um layout manager é formado por regiões que contém paineis de conteúdo
Classes de  Layout var layout = new Ext.BorderLayout(document.body, { monitorWindowResize:true, // variaveis de hideOnLayout:true, // configurações north: {split:false,initialSize:40}, // regiões do  south: {split:false,initialSize: 40},// layout manager west: {split:false} }); //Edição das regiões para adicionar painéis de conteúdo layout.beginUpdate(); layout.add('north', new Ext.ContentPanel('north', {fitToFrame:true})); layout.add('south', new Ext.ContentPanel('south', {fitToFrame:true})); layout.add('west', new Ext.ContentPanel('west', {fitToFrame:true})); layout.add('center', new Ext.ContentPanel('center')); layout.endUpdate();
Class Ext.BasicDialog Representa janelas de diálogos Classe que extende o BasicDialog e acrescenta o suporte a um layout manager interno para controlar a interface Ext.LayoutDialog extends Ext.BasicDialog Construindo um dialog var dlg = new Ext.BasicDialog(&quot;my-dlg&quot;, { height: 200,  width: 300,  minHeight: 100, minWidth: 150,  modal: true,  proxyDrag: true, shadow: true }); dlg.addKeyListener(27, dlg.hide, dlg); // mapeia o ESC dlg.addButton('OK', dlg.hide, dlg);  // adiciona o botão Ok dlg.addButton('Cancel', dlg.hide, dlg); dlg.show(); Classe que representa diversos widgets de dialogo como etla de confirmação, prompt, progress bar e permite a customização para extensão de novos diálogos.
Class Ext.MessageBox Utilitário de janelas de diálogos comuns Métodos que criam janelas especificas. Prompt, Comfirm, Alert, Wait, Progress e Show Usando um MessageBox Ext.MessageBox.alert('Status', 'Status mudado', callback); Ext.MessageBox.prompt('Name', 'Entre com o nome:', callback); Ext.MessageBox.confirm('Confirm', 'Deseja excluir?', callback ); Ext.MessageBox.show({ title:'Exclusão',  // título da janela msg: 'Deseja excluir o registro?', //mensagem buttons: Ext.MessageBox.YESNOCANCEL, // botões da janela fn: callback,  //função que trata o resultado do botão OK animEl: 'meu_div' //de onde partirá a janela, usado no efeito }); Classe que representa as janelas de diálogos comuns e abstrai a construção manual com dialog. Existe o alias Ext.Msg.
Class Ext.grid.Grid Representa uma grade de dados tabulares var grid = new Ext.grid.Grid(&quot;container-id&quot;, { ds: myDataStore,  // Fonte de dados cm: myColModel,  // Modelo de colunas selModel: selectionModel,  // função de seleção autoSizeColumns: true,  // Propriedades que  monitorWindowResize: false, // definem os trackMouseOver: true  // comportamentos }); grid.render(); // Contrói e renderiza o grid Construindo um Grid Classe que representa a interface primária de um componente baseado em Grid (Controlador de dados tabulares).  O grid faz parte de um pacote com algumas classes auxiliares que coordenam as operações de controle como paginação, obtenção de dados, entre outras funcionalidades.
Class Ext.data.Record Representa um registro do Grid ds = grid.getDataSource();  //obtem o DataSource var temp = {  //Monta o registro id:e.id, doc_nome:e.nome, doc_email:e.email, doc_login:e.login, doc_password:e.password }; var record = new Ext.data.Record(temp); // Cria o objeto var index = ds.getCount();  // captura o ultimo index ds.insert(index, record);  // insere o registro na fonte de dados Criando um registro Classe que encapsula a definição e valor de um registro do Grid.
Class Ext.data.Store Representa uma fonte de dados do Grid var datamapping = [  //array dos dados {name: 'id', mapping: 'id' }, {name: 'doc_nome', mapping: 'nome'}, {name: 'doc_email', mapping: 'email'} ]; var ds = new Ext.data.Store({ proxy: new TRIADWORKS.data.MemoryProxy(el), reader: new Ext.data.JsonReader( {root:'results',totalProperty:'total',id:'id'},  datamapping) }); Construindo um DataStore Classe que encapsula um cache de de registros no lado cliente. Usa uma implementação de Ext.data.DataProxy para acesso aos dados. Usa uma implementação de Ext.data.DataReader .para criar instâncias de Ext.data.Record dos dados mapeados.
Class Ext.grid.ColumnModel Representa um modelo de colunas var columns = [ {header:&quot;id&quot;,width:50, dataIndex: 'id'}, {id: 'Nome',header: &quot;Nome&quot;,dataIndex: 'doc_nome', width: 150,'sortable': true}, {id: 'Email',header: &quot;Email&quot;,dataIndex: 'doc_email', width: 100,'sortable': true} ]; var cm = new Ext.grid.ColumnModel(columns); Construindo um ColumnModel Classe que representa um modelo de definições de colunas.

Mais conteúdo relacionado

Mais procurados (20)

PHP GERAL
PHP GERALPHP GERAL
PHP GERAL
 
SUIT CSS como padrão de escrita de estilos
SUIT CSS como padrão de escrita de estilosSUIT CSS como padrão de escrita de estilos
SUIT CSS como padrão de escrita de estilos
 
Introdução ao HTML
Introdução ao HTMLIntrodução ao HTML
Introdução ao HTML
 
Sql - Introdução ao mysql
Sql - Introdução ao mysqlSql - Introdução ao mysql
Sql - Introdução ao mysql
 
Aula 12 Relatório - Tabelas
Aula 12   Relatório - TabelasAula 12   Relatório - Tabelas
Aula 12 Relatório - Tabelas
 
Mini Curso de Python para Coding Dojo
Mini Curso de Python para Coding DojoMini Curso de Python para Coding Dojo
Mini Curso de Python para Coding Dojo
 
Comandos DDL para o MySQL
Comandos DDL para o MySQLComandos DDL para o MySQL
Comandos DDL para o MySQL
 
Slides
SlidesSlides
Slides
 
Php FrameWARks - sem CakePHP
Php FrameWARks - sem CakePHPPhp FrameWARks - sem CakePHP
Php FrameWARks - sem CakePHP
 
Mini Curso PHP Twig - PHP Conference 2017
Mini Curso PHP Twig - PHP Conference 2017 Mini Curso PHP Twig - PHP Conference 2017
Mini Curso PHP Twig - PHP Conference 2017
 
Aula 02 - Curso PHP e MySQL
Aula 02 - Curso PHP e MySQLAula 02 - Curso PHP e MySQL
Aula 02 - Curso PHP e MySQL
 
Html, css, js, ajax
Html, css, js, ajaxHtml, css, js, ajax
Html, css, js, ajax
 
Apostila aed
Apostila aedApostila aed
Apostila aed
 
Apostila de sql
Apostila de sqlApostila de sql
Apostila de sql
 
Python 07
Python 07Python 07
Python 07
 
Validação e Operações CRUD em PHP
Validação e Operações CRUD em PHPValidação e Operações CRUD em PHP
Validação e Operações CRUD em PHP
 
Python 02
Python 02Python 02
Python 02
 
Php 05 Mvc
Php 05 MvcPhp 05 Mvc
Php 05 Mvc
 
Aula 250309
Aula 250309Aula 250309
Aula 250309
 
Aula 5 PHP - Criação de sites II
Aula 5 PHP - Criação de sites IIAula 5 PHP - Criação de sites II
Aula 5 PHP - Criação de sites II
 

Semelhante a Tw Course Ajax 2007 Ap05

Django + extjs pelos forms
Django + extjs pelos formsDjango + extjs pelos forms
Django + extjs pelos formsMoacir Filho
 
JasperReports Tecnicas de geracao_de_relatorios1
JasperReports  Tecnicas de geracao_de_relatorios1JasperReports  Tecnicas de geracao_de_relatorios1
JasperReports Tecnicas de geracao_de_relatorios1Sliedesharessbarbosa
 
Melhorando a Experiência do Usuário com JavaScript e jQuery
Melhorando a Experiência do Usuário com JavaScript e jQueryMelhorando a Experiência do Usuário com JavaScript e jQuery
Melhorando a Experiência do Usuário com JavaScript e jQueryHarlley Oliveira
 
JavaScript e JQuery para Webdesigners
JavaScript e JQuery para WebdesignersJavaScript e JQuery para Webdesigners
JavaScript e JQuery para WebdesignersHarlley Oliveira
 
Produtividade com JavaServer Faces
Produtividade com JavaServer FacesProdutividade com JavaServer Faces
Produtividade com JavaServer FacesEduardo Bregaida
 
Puppet – Torne Seu Datacenter áGil
Puppet – Torne Seu Datacenter áGilPuppet – Torne Seu Datacenter áGil
Puppet – Torne Seu Datacenter áGiljefesrodrigues
 
Evento Front End SP - Arquitetura de Front
Evento Front End SP - Arquitetura de FrontEvento Front End SP - Arquitetura de Front
Evento Front End SP - Arquitetura de FrontMichel Ribeiro
 
Apps Web em Wicket e Scala no GlassFish Java EE 6
Apps Web em Wicket e Scala no GlassFish Java EE 6Apps Web em Wicket e Scala no GlassFish Java EE 6
Apps Web em Wicket e Scala no GlassFish Java EE 6Bruno Borges
 
JavaScript - Aula Introdutória
JavaScript - Aula IntrodutóriaJavaScript - Aula Introdutória
JavaScript - Aula Introdutórialucasleite
 
JavaServer Faces Produtividade em Desenvolvimento
JavaServer Faces Produtividade em DesenvolvimentoJavaServer Faces Produtividade em Desenvolvimento
JavaServer Faces Produtividade em DesenvolvimentoEduardo Bregaida
 
Java mais ágil que nunca no desenvolvimento Web
Java mais ágil que nunca no desenvolvimento WebJava mais ágil que nunca no desenvolvimento Web
Java mais ágil que nunca no desenvolvimento WebBruno Borges
 
Play Framework - FLISOL
Play Framework - FLISOLPlay Framework - FLISOL
Play Framework - FLISOLgrupoweblovers
 

Semelhante a Tw Course Ajax 2007 Ap05 (20)

Django + extjs pelos forms
Django + extjs pelos formsDjango + extjs pelos forms
Django + extjs pelos forms
 
PHP FrameWARks - FISL
PHP FrameWARks - FISLPHP FrameWARks - FISL
PHP FrameWARks - FISL
 
JasperReports Tecnicas de geracao_de_relatorios1
JasperReports  Tecnicas de geracao_de_relatorios1JasperReports  Tecnicas de geracao_de_relatorios1
JasperReports Tecnicas de geracao_de_relatorios1
 
Facelets
FaceletsFacelets
Facelets
 
Melhorando a Experiência do Usuário com JavaScript e jQuery
Melhorando a Experiência do Usuário com JavaScript e jQueryMelhorando a Experiência do Usuário com JavaScript e jQuery
Melhorando a Experiência do Usuário com JavaScript e jQuery
 
JavaScript e JQuery para Webdesigners
JavaScript e JQuery para WebdesignersJavaScript e JQuery para Webdesigners
JavaScript e JQuery para Webdesigners
 
Produtividade com JavaServer Faces
Produtividade com JavaServer FacesProdutividade com JavaServer Faces
Produtividade com JavaServer Faces
 
Puppet – Torne Seu Datacenter áGil
Puppet – Torne Seu Datacenter áGilPuppet – Torne Seu Datacenter áGil
Puppet – Torne Seu Datacenter áGil
 
Wicket 2008
Wicket 2008Wicket 2008
Wicket 2008
 
Tutorial.yii
Tutorial.yiiTutorial.yii
Tutorial.yii
 
servlet-requisicoes
servlet-requisicoesservlet-requisicoes
servlet-requisicoes
 
Evento Front End SP - Arquitetura de Front
Evento Front End SP - Arquitetura de FrontEvento Front End SP - Arquitetura de Front
Evento Front End SP - Arquitetura de Front
 
Apps Web em Wicket e Scala no GlassFish Java EE 6
Apps Web em Wicket e Scala no GlassFish Java EE 6Apps Web em Wicket e Scala no GlassFish Java EE 6
Apps Web em Wicket e Scala no GlassFish Java EE 6
 
Rich faces
Rich facesRich faces
Rich faces
 
JavaScript - Aula Introdutória
JavaScript - Aula IntrodutóriaJavaScript - Aula Introdutória
JavaScript - Aula Introdutória
 
JavaServer Faces Produtividade em Desenvolvimento
JavaServer Faces Produtividade em DesenvolvimentoJavaServer Faces Produtividade em Desenvolvimento
JavaServer Faces Produtividade em Desenvolvimento
 
Java mais ágil que nunca no desenvolvimento Web
Java mais ágil que nunca no desenvolvimento WebJava mais ágil que nunca no desenvolvimento Web
Java mais ágil que nunca no desenvolvimento Web
 
Play Framework - FLISOL
Play Framework - FLISOLPlay Framework - FLISOL
Play Framework - FLISOL
 
Estrutura do Projeto
Estrutura do ProjetoEstrutura do Projeto
Estrutura do Projeto
 
Estrutura do Projeto
Estrutura do ProjetoEstrutura do Projeto
Estrutura do Projeto
 

Mais de Milfont Consulting

Continuous integration e continuous delivery para salvar o seu projeto!
Continuous integration e continuous delivery para salvar o seu projeto!Continuous integration e continuous delivery para salvar o seu projeto!
Continuous integration e continuous delivery para salvar o seu projeto!Milfont Consulting
 
Equipes sem Líderes formais e realmente autogeridas
Equipes sem Líderes formais e realmente autogeridasEquipes sem Líderes formais e realmente autogeridas
Equipes sem Líderes formais e realmente autogeridasMilfont Consulting
 
Combinando OO e Funcional em javascript de forma prática
Combinando OO e Funcional em javascript de forma práticaCombinando OO e Funcional em javascript de forma prática
Combinando OO e Funcional em javascript de forma práticaMilfont Consulting
 
Engine de template em Javascript com HTML Sprites
Engine de template em Javascript com HTML SpritesEngine de template em Javascript com HTML Sprites
Engine de template em Javascript com HTML SpritesMilfont Consulting
 
I TDD my jQuery code without Browser
I TDD my jQuery code without BrowserI TDD my jQuery code without Browser
I TDD my jQuery code without BrowserMilfont Consulting
 
Construindo WebApps ricas com Rails e Sencha
Construindo WebApps ricas com Rails e SenchaConstruindo WebApps ricas com Rails e Sencha
Construindo WebApps ricas com Rails e SenchaMilfont Consulting
 
BDD com Cucumber, Selenium e Rails
BDD com Cucumber, Selenium e RailsBDD com Cucumber, Selenium e Rails
BDD com Cucumber, Selenium e RailsMilfont Consulting
 
Apresentando Extreme Programming
Apresentando Extreme ProgrammingApresentando Extreme Programming
Apresentando Extreme ProgrammingMilfont Consulting
 

Mais de Milfont Consulting (20)

Continuous integration e continuous delivery para salvar o seu projeto!
Continuous integration e continuous delivery para salvar o seu projeto!Continuous integration e continuous delivery para salvar o seu projeto!
Continuous integration e continuous delivery para salvar o seu projeto!
 
Equipes sem Líderes formais e realmente autogeridas
Equipes sem Líderes formais e realmente autogeridasEquipes sem Líderes formais e realmente autogeridas
Equipes sem Líderes formais e realmente autogeridas
 
Mvc sem Controller
Mvc sem ControllerMvc sem Controller
Mvc sem Controller
 
Beagajs
BeagajsBeagajs
Beagajs
 
Combinando OO e Funcional em javascript de forma prática
Combinando OO e Funcional em javascript de forma práticaCombinando OO e Funcional em javascript de forma prática
Combinando OO e Funcional em javascript de forma prática
 
Engine de template em Javascript com HTML Sprites
Engine de template em Javascript com HTML SpritesEngine de template em Javascript com HTML Sprites
Engine de template em Javascript com HTML Sprites
 
MVC Model 3
MVC Model 3MVC Model 3
MVC Model 3
 
Dar caos à ordem
Dar caos à ordemDar caos à ordem
Dar caos à ordem
 
I TDD my jQuery code without Browser
I TDD my jQuery code without BrowserI TDD my jQuery code without Browser
I TDD my jQuery code without Browser
 
Oxente BDD
Oxente BDDOxente BDD
Oxente BDD
 
Construindo WebApps ricas com Rails e Sencha
Construindo WebApps ricas com Rails e SenchaConstruindo WebApps ricas com Rails e Sencha
Construindo WebApps ricas com Rails e Sencha
 
Dar Ordem ao Caos
Dar Ordem ao CaosDar Ordem ao Caos
Dar Ordem ao Caos
 
Domain driven design
Domain driven designDomain driven design
Domain driven design
 
BDD com Cucumber, Selenium e Rails
BDD com Cucumber, Selenium e RailsBDD com Cucumber, Selenium e Rails
BDD com Cucumber, Selenium e Rails
 
Mare de Agilidade - BDD e TDD
Mare de Agilidade - BDD e TDDMare de Agilidade - BDD e TDD
Mare de Agilidade - BDD e TDD
 
Apresentando Extreme Programming
Apresentando Extreme ProgrammingApresentando Extreme Programming
Apresentando Extreme Programming
 
Test Driven Development
Test Driven DevelopmentTest Driven Development
Test Driven Development
 
Behaviour Driven Development
Behaviour Driven DevelopmentBehaviour Driven Development
Behaviour Driven Development
 
Primeiro Dia Livre Opensocial
Primeiro Dia Livre OpensocialPrimeiro Dia Livre Opensocial
Primeiro Dia Livre Opensocial
 
Tw Dwr 2007 Ap01
Tw Dwr 2007 Ap01Tw Dwr 2007 Ap01
Tw Dwr 2007 Ap01
 

Tw Course Ajax 2007 Ap05

  • 1. Ext Framework javascript multipropósito Christiano Milfont
  • 2. Getting Started Frameworks base – YUI, Prototype ou JQuery <script src=&quot;ext-1.0/adapter/yui/yui-utilities.js&quot;></script> <script src=&quot;ext-1.0/adapter/yui/ext-yui-adapter.js&quot;></script> <script src=&quot;ext-1.0/ext-all.js&quot;></script> Adapter - Interface que abstrai a utilização Ext Components Css <style type=&quot;text/css&quot; media=&quot;screen&quot;> @import url('inc/ext-1.0/resources/css/ext-all.css'); @import url('inc/ext-1.0/resources/css/ytheme-aero.css'); </style>
  • 3.
  • 4. Class Ext.Element Representa um elemento no DOM var el = Ext.get(&quot;my-div&quot;); var el = getEl(&quot;my-div&quot;); var el = Ext.get(myDivElement); var myDiv = document.getElementById('myDiv'); Manipulando via DOM Capturando um elemento DOM com o Element A classe Element abstrai a manipulação aos elementos DOM com métodos que facilitam as operações myDiv.highlight(); myDiv.addClass('meuEstilo'); // Adiciona uma nova classe myDiv.center(); // Centraliza o elemento myDiv.setOpacity(.25); // Aplica uma transparência
  • 5. Class Ext.CompositeElement Representa uma coleção de Element add(String/Array els) //Adiciona elementos ao Composite each(Function fn, [Object scope]) // chamada à função passada, passando (el, this, index) para cada item item(Number index) // retorna um Element pelo index especificado var els = Ext.Element.select(&quot;#nomediv .classe&quot;); els.setWidth(100); // todos os elementos com largura 100 Classe Composite que fornece métodos que agem sobre todos os itens da coleção de Element. Metódos da classe
  • 6. Classes de Layout Essa classe representa uma região de um layout Essa classe representa um painel de conteúdo em uma região Ext.ContentPanel Ext.BasicLayoutRegion Ext.LayoutRegion extends Ext.BasicLayoutRegion Classe que representa uma região em um Layout Manager e adiciona o suporte a barras de titulos e tabpanels Ext.LayoutManager Ext.BorderLayout extends Ext.LayoutManager Classe base dos layout managers Classe que representa um layout manager baseado nas interfaces do desktop. Um layout manager é formado por regiões que contém paineis de conteúdo
  • 7. Classes de Layout var layout = new Ext.BorderLayout(document.body, { monitorWindowResize:true, // variaveis de hideOnLayout:true, // configurações north: {split:false,initialSize:40}, // regiões do south: {split:false,initialSize: 40},// layout manager west: {split:false} }); //Edição das regiões para adicionar painéis de conteúdo layout.beginUpdate(); layout.add('north', new Ext.ContentPanel('north', {fitToFrame:true})); layout.add('south', new Ext.ContentPanel('south', {fitToFrame:true})); layout.add('west', new Ext.ContentPanel('west', {fitToFrame:true})); layout.add('center', new Ext.ContentPanel('center')); layout.endUpdate();
  • 8. Class Ext.BasicDialog Representa janelas de diálogos Classe que extende o BasicDialog e acrescenta o suporte a um layout manager interno para controlar a interface Ext.LayoutDialog extends Ext.BasicDialog Construindo um dialog var dlg = new Ext.BasicDialog(&quot;my-dlg&quot;, { height: 200, width: 300, minHeight: 100, minWidth: 150, modal: true, proxyDrag: true, shadow: true }); dlg.addKeyListener(27, dlg.hide, dlg); // mapeia o ESC dlg.addButton('OK', dlg.hide, dlg); // adiciona o botão Ok dlg.addButton('Cancel', dlg.hide, dlg); dlg.show(); Classe que representa diversos widgets de dialogo como etla de confirmação, prompt, progress bar e permite a customização para extensão de novos diálogos.
  • 9. Class Ext.MessageBox Utilitário de janelas de diálogos comuns Métodos que criam janelas especificas. Prompt, Comfirm, Alert, Wait, Progress e Show Usando um MessageBox Ext.MessageBox.alert('Status', 'Status mudado', callback); Ext.MessageBox.prompt('Name', 'Entre com o nome:', callback); Ext.MessageBox.confirm('Confirm', 'Deseja excluir?', callback ); Ext.MessageBox.show({ title:'Exclusão', // título da janela msg: 'Deseja excluir o registro?', //mensagem buttons: Ext.MessageBox.YESNOCANCEL, // botões da janela fn: callback, //função que trata o resultado do botão OK animEl: 'meu_div' //de onde partirá a janela, usado no efeito }); Classe que representa as janelas de diálogos comuns e abstrai a construção manual com dialog. Existe o alias Ext.Msg.
  • 10. Class Ext.grid.Grid Representa uma grade de dados tabulares var grid = new Ext.grid.Grid(&quot;container-id&quot;, { ds: myDataStore, // Fonte de dados cm: myColModel, // Modelo de colunas selModel: selectionModel, // função de seleção autoSizeColumns: true, // Propriedades que monitorWindowResize: false, // definem os trackMouseOver: true // comportamentos }); grid.render(); // Contrói e renderiza o grid Construindo um Grid Classe que representa a interface primária de um componente baseado em Grid (Controlador de dados tabulares). O grid faz parte de um pacote com algumas classes auxiliares que coordenam as operações de controle como paginação, obtenção de dados, entre outras funcionalidades.
  • 11. Class Ext.data.Record Representa um registro do Grid ds = grid.getDataSource(); //obtem o DataSource var temp = { //Monta o registro id:e.id, doc_nome:e.nome, doc_email:e.email, doc_login:e.login, doc_password:e.password }; var record = new Ext.data.Record(temp); // Cria o objeto var index = ds.getCount(); // captura o ultimo index ds.insert(index, record); // insere o registro na fonte de dados Criando um registro Classe que encapsula a definição e valor de um registro do Grid.
  • 12. Class Ext.data.Store Representa uma fonte de dados do Grid var datamapping = [ //array dos dados {name: 'id', mapping: 'id' }, {name: 'doc_nome', mapping: 'nome'}, {name: 'doc_email', mapping: 'email'} ]; var ds = new Ext.data.Store({ proxy: new TRIADWORKS.data.MemoryProxy(el), reader: new Ext.data.JsonReader( {root:'results',totalProperty:'total',id:'id'}, datamapping) }); Construindo um DataStore Classe que encapsula um cache de de registros no lado cliente. Usa uma implementação de Ext.data.DataProxy para acesso aos dados. Usa uma implementação de Ext.data.DataReader .para criar instâncias de Ext.data.Record dos dados mapeados.
  • 13. Class Ext.grid.ColumnModel Representa um modelo de colunas var columns = [ {header:&quot;id&quot;,width:50, dataIndex: 'id'}, {id: 'Nome',header: &quot;Nome&quot;,dataIndex: 'doc_nome', width: 150,'sortable': true}, {id: 'Email',header: &quot;Email&quot;,dataIndex: 'doc_email', width: 100,'sortable': true} ]; var cm = new Ext.grid.ColumnModel(columns); Construindo um ColumnModel Classe que representa um modelo de definições de colunas.