FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
||||
|
||||
Ordenar TListView
Tengo un TListView similar a este:
Titular Dato1 % Dato2 Titular1 1250 45,45% 10 Titular2 1500 54,55% 11 que quiero ordenar por la última columna para lo que estoy usando un método de burbuja con este código: Código:
AnsiString **cDatos; int nItem, **nDatos; cDatos = new AnsiString *[Simula->Items->Count]; nDatos = new int *[ListView->Items->Count]; for (nItem = 0; nItem < ListView->Items->Count; nItem ++) { cDatos[nItem] = new AnsiString[2]; nDatos[nItem] = new int[2]; } for (nItem = 0; nItem < ListView->Items->Count - 1; nItem ++) { cDatos[nItem][0] = ListView->Items->Item[nItem]->Caption; nDatos[nItem][0] = StrToIntDef(ListView->Items->Item[nItem]->SubItems->Strings[0], 0); cDatos[nItem][1] = ListView->Items->Item[nItem]->SubItems->Strings[1]; nDatos[nItem][1] = StrToIntDef(ListView->Items->Item[nItem]->SubItems->Strings[2], 0); } for (int nUno = 1; nUno < ListView->Items->Count; nUno ++) for (int nDos = 0; nDos < ListView->Items->Count - nUno; nDos ++) if (nDatos[nDos][1] > nDatos[nDos + 1][1]) { std::swap(nDatos[nDos][0], nDatos[nDos + 1][0]); std::swap(nDatos[nDos][1], nDatos[nDos + 1][1]); std::swap(cDatos[nDos][0], cDatos[nDos + 1][0]); std::swap(cDatos[nDos][1], cDatos[nDos + 1][1]); } for (nItem = 0; nItem < ListView->Items->Count - 1; nItem ++) { ListView->Items->Item[nItem]->Caption = cDatos[nItem][0]; ListView->Items->Item[nItem]->SubItems->Strings[0] = nDatos[nItem][0]; ListView->Items->Item[nItem]->SubItems->Strings[1] = cDatos[nItem][1]; ListView->Items->Item[nItem]->SubItems->Strings[0] = nDatos[nItem][1]; } Titular Dato1 % Dato2 12 Titular1 1500 98,62% 21 Y ya no sé como hacerlo. He probado con dos matrices como está arriba, con cuatro, metiendo el contenido de cada línea en un elemento de TStringList y el valro que me interesa en una matriz... ¡Da lo mismo! Me lo hace siempre mal. Última edición por Angel.Matilla fecha: 19-11-2018 a las 11:41:55. |
#2
|
||||
|
||||
¡Ya está aclarado! Estaba asignando mal als variables después de haber hecho la ordenación. ¡Seré burro!
|
#3
|
||||
|
||||
Hola.
Cita:
Código PHP:
Saludos
__________________
Daniel Didriksen Guía de estilo - Uso de las etiquetas - La otra guía de estilo .... |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Ordenar objetos de mas grandes a mas pequeños en TListView | Reasen | Varios | 3 | 17-11-2016 17:51:52 |
Ordenar TListView | Angel.Matilla | C++ Builder | 12 | 09-06-2014 18:42:44 |
TListView | calogero | Varios | 0 | 18-01-2007 17:16:45 |
Tlistview | Yenifer | Varios | 1 | 18-08-2004 16:33:44 |
TlistView | perceptron | OOP | 2 | 04-12-2003 23:56:15 |
|