Deste feita fiz um exemplo para tentar explicar a quem tem duvidas sobre como efectuar operações (CRUD) numa datagrid. O exemplo começa por mostrar como criar um dataProvider para uma dataGrid, e de seguida fazer variados tipos de operações como:
-Alteração dos dados de determinada linha e coluna.
-Apagar a linha seleccionada
-Recriar automaticamente e aleatoriamente um novo dataProvider
Neste exemplo são usadas funções que podem ser usadas para qualquer outro dataProvider, devido ao reaproveitamento das funções, podem também ser observados certos exemplos de como “encher” uma dataGrid e trabalhar com o seu dataProvider (arrayCollection) acedendo aos seus campos, como o dataProvider é “dinamico/Bindable” quando ele é actualizado os dados são actualizados automaticamente na dataGrid.
É mais um exemplo bastante simples, mas que poupa muitas dores de cabeça, já que bastantes vezes se vê pessoas a tentarem obter determinado campo da dataGrid através dela mesmo e não do seu dataProvider. Neste exemplo foram usadas alguns “truques” menos comuns para lidar com o arrayCollection.
As funções foram optimizadas ao máximo para serem reaproveitadas em qualquer outra dataGrid com o mesmo dataProvider poupando assim código desnecessário numa aplicação media-grande.
Podem ver o exemplo online aqui com o view source activo
Ou ver o código fonte aqui
Foi útil?
Abraço.









9 Comentários
Parabens pela sua explicação!!!!!!!!!!!!!!!!!11
Porque na primeira linha quando se altera algo apresenta a mensagem que o campo ou linha está vazio?
Boas villas!
Bem, isso acontece por falta de atenção minha. Tente assim:
na função saveData() coloque dentro do if onde tem “linha>0″ coloque “linha>=0″ e o mesmo se passa na função deleteLinha(), altere também onde tem “linha>0″ e coloque “linha>=0″
isso acontece porque o valor da linha pode ser zero (primeira linha).
Assim deve funcionar.
Obrigado pelo reparo!
cumps.
E para incluir um novo registro?
basta criar um novo objecto:
var obj:Object = new Object;
obj.campo1=”9″;
obj.campo2=”1.56″;
obj.campo3=”3.3″;
dados.addItem(obj);
E está feito
Abraço.
Ya no esta el enlace necesito algo asi por el estilo :’(
¿Hola Jesús, no entendí… tu no puedes ver el código fuente o le necesitar algo más específico?
No se pueden ver los ejemplos.
Vea: http://www.msdevstudio.com/blog/flexSource/testDatagrid/