Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
fala galera, beleza?
=]
nao sou mto fã de usar componentes... mas o datagrid ta de bom tamanho
so q... suponhamos q eu tenha duas colunas... nome e aniversario...
bruno - 29/05/85
jukinha - 02/08/86
pedrinho - 05/04/87
se eu clico na coluna de aniversario ele me retorna...
jukinha - 02/08/86
pedrinho - 05/04/87
bruninho- 29/05/85
ou seja, ele vai pelo primeiro numero...
como fazer pra ele meio q ir de tras pra frente, e organizar certo?
flws
vlw
=]
eu lembro de já ter mexido com isso, você tem que mexer no dataProvider do dataGrid, ele tem a função sortItems(), que você pode controlar como ele
faz a comparação de ordenação, dá uma olhada no help pra ver
[]´s
vlw galera
vou testar aki e posto o resultado!!!!
flws, vlw!
galera
nao to conseguindo...
eder... como fazer essa comparacao???
Você está utilizando os campos "nome" e "aniversario", e tenho quase certeza que estes campos são do tipo "string", pois se o campo aniversario fosse do tipo "numerico", o resultado seria um cálculo de divisão (pois está utilizando as barras) - Sendo assim, para que a ordenação pela coluna aniversario seja correta (ordem de data), o campo deve ser do tipo "Date" - caso contrário não vai ordenar corretamente mesmo utilizando o "sortItems()".
Abs.
beleza!!!
entendi seu racionio... tem logica...
mas agora eu te pergunto... como declarar q uma coluna eh do tipo DATA?
=P
flws
vlw
Quando utilizamos o componente DataGrid, geralmente acessamos uma base de dados externa, um arquivo XML ou um banco de dados via script server-side por exemplo. Sendo assim, será necessário também a utilização dos componentes XML Connector e o DataSet - Para formatar os seus campos, você deve configurar as opções abaixo no painel Component Inspector do seu componente XML Connector:
data type = Date
encoder = Date
encoder options = formato da sua data (DD/MM/YYYY) ou por extenso, entre outros disponíveis...
Abs.
no cara... boiei... isso eh novidade pra mim... ve se você consegue me ajudar...
atraves do php... busco os dados no banco... retorno uma array e mando pro flash... o flash pega essa array e taca no datagrid... dai o problema de ordenar...
nao entendi como colocar o dataSet no meio... o caminho eh esse mesmo?
vou ir tentando aki
flws
vlws
=]
Ok, achei que estivesse fazendo (configurando) tudo através dos componentes...
Como está fazendo por AS, o negócio muda de figura e a lógica é essa do ex. abaixo:
var dateSortOrder:Array = new Array(
{name:"Z_Name", date: "15/10/2007"},
{name:"T_Name", date: "18/01/2009"},
{name:"G_Name", date: "20/08/2009"},
{name:"W_Name", date: "21/05/1975"},
{name:"E_Name", date: "10/06/2005"},
{name:"B_Name", date: "29/01/2005"},
{name:"A_Name", date: "25/12/1989"},
{name:"S_Name", date: "22/11/2005"}
);
myDataGrid.dataProvider = dateSortOrder;
//
var myListener = new Object();
myListener.headerRelease = function(evt){
dateSortAsc = function(a, b){
dateA = a[evt.target.getColumnAt(evt.columnIndex).columnName];
dateB = b[evt.target.getColumnAt(evt.columnIndex).columnName];
my_dateA = new Date(dateA.slice(6, 10), dateA.slice(3, 5)-1, dateA.slice(0, 2));
my_dateB = new Date(dateB.slice(6, 10), dateB.slice(3, 5)-1, dateB.slice(0, 2));
if (my_dateA < my_dateB){
return -1;
}else if(my_dateA > my_dateB){
return 1;
}else{
return 0;
}
}
dateSortOrder.sort(dateSortAsc);
};
myDataGrid.addEventListener("headerRelease", myListener);
Explicando:
Jogo os dados no Array (o campo data como String e formato padrão) e populo o DataGrid;
Dentro do evento "headerRelease" crio uma função para converter e comparar as datas, possibilitando a ordenação.
Espero que seja útil.
Abs.
cara
a logica eh essa ae!!!!
vlw d mais!!!!
mas como to usando um for pra add o itens do datagrid, tenho q modificar o codigo, to tentando aki pra q de certo
mas de qualquer forma, eh isso ai, grande codigo
vlw d mais
flws
=]
O seu campo "aniversário" tem que estar no formato "Date".
Abs.