 |
Club Builder Foro de C++Builder en español
|
| Ver tema anterior :: Ver tema siguiente |
| Autor |
Mensaje |
Angel Master


Registrado: 15 Abr 2003Mensajes: 2311Ubicación: Toledo (España)
|
Publicado: Sab 31 May, 2014 9:14 am Asunto: |
|
|
| juanma escribió: | | Si lo estás creando como metodo de la clase formulario, has olvidado poner el nombre del fomulario en el cpp. |
Avergonzado estoy; ¿ves como era de párvulos?. Muchas gracias. _________________ Un saludo
Necesitamos tu ayuda: Envía AI al 27595 (Coste 1,20 euros + IVA) |
|
| Volver arriba |
|
 |
Angel Master


Registrado: 15 Abr 2003Mensajes: 2311Ubicación: Toledo (España)
|
Publicado: Lun 02 Jun, 2014 10:07 am Asunto: |
|
|
Estoy usando este código.
| Código: | void __fastcall TfSocios::FormCreate(TObject *Sender)
{
LastSortedColumn = -1;
Ascending = false;
}
//---------------------------------------------------------------------------
void __fastcall TfSocios::ListaColumnClick(TObject *Sender, TListColumn *Column)
{
if (Column->Index == LastSortedColumn)
Ascending = !Ascending;
else
{
Ascending = true;
LastSortedColumn = Column->Index;
}
static_cast<TListView>(Sender)->CustomSort(SortByColumn, Column->Index);
}
//--------------------------------------------------------------------------- |
| _Leo escribió: | | Código: | int __stdcall SortByColumn(long Item1,long Item2, long Data)
{
TListItem *item1 = reinterpret_cast<TListItem>(Item1);
TListItem *item2 = reinterpret_cast<TListItem>(Item2);
TListView *lv = static_cast<TListView>(item1->ListView);
TListColumn *lc = static_cast<TListColumn>(lv->Columns->FindItemID(Data));
bool bCampoNumerico = lc->Tag;
int w;
if (Data == 0)
{
w = !bCampoNumerico
? AnsiCompareText(item1->Caption, item2->Caption)
: item1->Caption.ToIntDef(0) - item2->Caption.ToIntDef(0);
}
else
{
w = !bCampoNumerico
? AnsiCompareText(item1->SubItems->Strings[Data-1], item2->SubItems->Strings[Data-1])
: item1->SubItems->Strings[Data-1].ToIntDef(0) - item2->SubItems->Strings[Data-1].ToIntDef(0);
}
return Ascending ? w : -w;
} |
|
Pero algo no me funciona bien o algo no entiendo: Pulse las veces que pulse en la cabecera de la columna me ordena siempre en orden descendente. Y es que no "veo" dónde se usa esa variable Ascending en la función para indicarle como ha de ordenar los valores. _________________ Un saludo
Necesitamos tu ayuda: Envía AI al 27595 (Coste 1,20 euros + IVA) |
|
| Volver arriba |
|
 |
|
|
No puedes publicar temas nuevos en este foro No puedes responder a temas en este foro No puedes editar tus mensajes en este foro No puedes borrar tus mensajes en este foro No puedes votar en las encuestas de este foro
|
© 2002–2026 Club Builder · Funciona con phpBB.
|