Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros entornos y lenguajes > C++ Builder
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 31-10-2014
Avatar de escafandra
[escafandra] escafandra is offline
Miembro Premium
 
Registrado: nov 2007
Posts: 2.211
Poder: 22
escafandra Tiene un aura espectacularescafandra Tiene un aura espectacular
Revisa la propiedad y asignalá en el evento OnCick del botón.


Saludos.
Responder Con Cita
  #2  
Antiguo 31-10-2014
Avatar de aguml
aguml aguml is offline
Miembro
 
Registrado: may 2013
Posts: 885
Poder: 14
aguml Va por buen camino
Al final lo hice así:
Código PHP:
void __fastcall TForm1::ButRefrescarProcClick(TObject *Sender)
{
    
ListItemsProcesos->Clear();
    
llenarLista();
   if(
LastShortedColumn != -1)
   { 
//Aqui la funcion que ordene todo por la columna deseada
      
ListViewProcesos->AlphaSort();
   }
}
//---------------------------------------------------------------------------

void __fastcall TForm1::ListViewProcesosColumnClick(TObject *Sender,
      
TListColumn *Column)
{
   
LastShortedColumn Column->Index;
    
ColumnToSort Column->Index;
    ((
TCustomListView *)Sender)->AlphaSort();
}
//---------------------------------------------------------------------------

void __fastcall TForm1::ListViewProcesosCompare(TObject *Sender,
      
TListItem *Item1TListItem *Item2int Dataint &Compare)
{
    if (
ColumnToSort == 0)
        
Compare CompareText(Item1->Caption,Item2->Caption);
    else if(
ColumnToSort == 1)
    {
        
Compare Item1->SubItems->Strings[0].ToInt() - Item2->SubItems->Strings[0].ToInt();
    }
    else if(
ColumnToSort == 2)
    {
        
Compare CompareText(Item1->SubItems->Strings[1], Item2->SubItems->Strings[1]);
    }
    else if(
ColumnToSort == 3)
    {
        
Compare Item1->SubItems->Strings[2].ToInt() - Item2->SubItems->Strings[2].ToInt();
    }
   else if(
ColumnToSort == 4)
   {
      
Compare CompareText(Item1->SubItems->Strings[3], Item2->SubItems->Strings[3]);
   }
   else if(
ColumnToSort == 5)
   {
      
Compare CompareText(Item1->SubItems->Strings[4], Item2->SubItems->Strings[4]);
   }
}
//--------------------------------------------------------------------------- 
No pude hacerlo como dices asignando la propiedad ya que me decia algo de que era ambiguo y no me dejaba ni con = ni con << pero si vi que existian tanto AlphaSort como CustomSort y la primera hace lo que quería pero intenté como dices o usando CustomSort que supongo que tendrá la ventaja de hacer un ordenamiento mas personalizado pero no fui capaz de usar ninguno de los dos.
Responder Con Cita
  #3  
Antiguo 31-10-2014
Avatar de aguml
aguml aguml is offline
Miembro
 
Registrado: may 2013
Posts: 885
Poder: 14
aguml Va por buen camino
una pregunta, cuando limpio y relleno el tlistview se ve como se vacia y se rellena. En delphi creo que se evita eso usando ante una funcion updatebegin o algo asi ¿Como puedo hacerlo para que no se vea el parpadeo ese y simplemente aparezca actualizada sin mas?
Responder Con Cita
  #4  
Antiguo 31-10-2014
Avatar de escafandra
[escafandra] escafandra is offline
Miembro Premium
 
Registrado: nov 2007
Posts: 2.211
Poder: 22
escafandra Tiene un aura espectacularescafandra Tiene un aura espectacular
Revisa esto: Trucos para TListView con la API de Windows.


Saludos
Responder Con Cita
  #5  
Antiguo 01-11-2014
Avatar de escafandra
[escafandra] escafandra is offline
Miembro Premium
 
Registrado: nov 2007
Posts: 2.211
Poder: 22
escafandra Tiene un aura espectacularescafandra Tiene un aura espectacular
Otro detalle, para usar SortType desde código, hazlo así:
Código PHP:
 ListView1->SortType Comctrls::stText

Saludos.
Responder Con Cita
  #6  
Antiguo 01-11-2014
Avatar de aguml
aguml aguml is offline
Miembro
 
Registrado: may 2013
Posts: 885
Poder: 14
aguml Va por buen camino
¿En que se diferencia hacer lo que haces en tus trucos que muestras a usar ListView1->Items->BeginUpdate() para impedir que se actualice y luego usar ListView1->Items->EndUpdate() para mostrarlo ya actualizado?
Responder Con Cita
  #7  
Antiguo 01-11-2014
Avatar de escafandra
[escafandra] escafandra is offline
Miembro Premium
 
Registrado: nov 2007
Posts: 2.211
Poder: 22
escafandra Tiene un aura espectacularescafandra Tiene un aura espectacular
Mi truco evita la actualización de la ventana ListView a bajo nivel. Esa actualización es lenta pues se realiza a través de mensajes windows uno a uno. Mi truco evita procesar los mensajes ganando rapidez con efecto visual de instanteneidad.

Saludos.
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Cambiar el color del titulo de una columna en un DbGrid adrall OOP 3 20-06-2011 13:38:11
Lookup al pulsar sobre una columna en TDBGrid noob Conexión con bases de datos 6 21-10-2008 20:19:10
Obtener titulo de una columna MaMu OOP 1 29-06-2007 23:58:00
Título columna en varias líneas SMTZ .NET 6 07-09-2006 20:46:39
capturar click en la columna de titulo StringGrid poliburro Varios 10 23-01-2006 12:12:21


La franja horaria es GMT +2. Ahora son las 20:43:34.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi