Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Coloboración Paypal con ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 26-04-2006
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.141
Poder: 36
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Poco elegante parece, y es probable que exista otro modo, pero, a mí se me ocurre este a bote pronto, y lo expongo por si sirviera de algo:

Código Delphi [-]
procedure TForm1.Button1Click(Sender: TObject);
var
  i: integer;
  nItem: TListItem;
begin
  { Nos proponemos con el siguiente código cambiar
    la posición del primer elemento de un "TListView".

    Queremos que en lugar del índice 0 dicho elemento
    pase a ocupar el índice 2 de la lista de marras.
  }

  // Vamos a insertar un nuevo Item en el índice 2
  nItem := ListView1.Items.Insert(2);

  { La propiedad Caption del nuevo Item la recogemos
    del Item que queremos "mover", y que, como luego
    se verá, en realidad no lo movemos tal cual, sino
    que lo copiamos, y luego lo borraremos.
  }
  nItem.Caption := ListView1.Items[0].Caption;

  { También nos interesan los "SubItems"..., así que
    nos hacemos con ello. Supongo que si nos intere-
    saran otros datos, como el "ImageIndex", no nos
    quedaría sino copiarlo también.
  }
  for i := 0 to ListView1.Items[0].SubItems.Count-1 do
    nItem.SubItems.Add(ListView1.Items[0].SubItems[i]);

  { Por último, borramos el Item que acabamos
    de copiar para volverlo a insertar (una
    copia) con distinto índice en la lista.
  }
  ListView1.Items[0].Delete;

end;
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #2  
Antiguo 26-04-2006
metalfox6383 metalfox6383 is offline
Miembro
 
Registrado: jul 2005
Posts: 97
Poder: 21
metalfox6383 Va por buen camino
Interesante forma. Aunque era justo lo que quería evitar, copiar un item y borrar el anterior. Gracias. Usaré ese código.
Responder Con Cita
  #3  
Antiguo 26-04-2006
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 31
Lepe Va por buen camino
Increible pero cierto, no hay métodos para cambiar de sitio un elemento.
Tambien así:

Código Delphi [-]
procedure TForm1.Button1Click(Sender: TObject);
var
  i: integer;
  nItem: TListItem;
begin
  listview.beginUpdate;
  nItem := Listview.items.insert(5);
  nitem.Assign(Listview.items[3]); // copiamos todas las propiedades
  nitem.subitems.Assign(listview.items[3].subitems); // y tambien los subitems
  listview.items[3].delete;
  listview.endupdate;  // eliminamos el posible parpadeo 
end;

Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.

Última edición por Lepe fecha: 26-04-2006 a las 09:11:22.
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
Trabajando con TListView y TListItem Esti OOP 4 23-11-2005 11:14:07
posicion string davidgaldo Varios 2 28-09-2004 10:37:52
Posicion de ventanas Gorehide Varios 4 09-07-2004 14:22:52
Posicion exacta en mm treydo Impresión 1 20-01-2004 16:03:51
Posición del rodeo guillotmarc Humor 1 24-11-2003 23:20:34


La franja horaria es GMT +2. Ahora son las 09:39:38.


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