Ver Mensaje Individual
  #1  
Antiguo 16-11-2014
Avatar de danielmj
danielmj danielmj is offline
Miembro
 
Registrado: jun 2011
Posts: 383
Reputación: 15
danielmj Va por buen camino
Volcar dos listview en uno

Hola, ya he abierto varios hilos sobre el control listview, y no sé si hago bien, pero es que son temas diferentes aunque sea sobre el mismo control. Y ahora vengo con otra duda, en fin si estoy haciendo mal decidmelo.

En cuanto a la duda, el proyecto usa dos listview, pero he pensado que para guardarlo como csv, es mejor tener todas los datos (de las dos listas) en una sola, y esa sería la que guardaría.

Y la duda es esta:
Código Delphi [-]
...
for i:= 0 to 19 do //----> 19 es la suma de columnas de los dos listview
    for j:= 0 to rForm.lista.Items.Count -1 do //------> recorro el listview1
      for l:= 0 to rForm.plista.Items.Count -1 do //---> recorro el listview2
      begin
        addLista.Columns.Add; //--------> addLista es un tercer control listview que creo en tiempo de ejecucion sin estar "fisicamente" sobre el formulario.
        addLista.Columns[i].Caption:= rForm.lista.Items.Item[j].Caption +
                                      rForm.plista.Items.Item[l].Caption ; //-------> en un listView "3" (addlista), meto las columnas de las otras dos listas (es correcta esta sintaxis?)
      end;
  for i:= 0 to rForm.lista.Items.Count -1 do //-------> vuelvo a recorrer el listView1
      for j:= 0 to rForm.lista.Items.Count -1 do //-----> vuelvo a recorrer el listview1 guardando en otra variable
    with addLista.items.Add do
      begin
        subItems.Add(rForm.lista.Items.Item[i].SubItems.Strings[j]) //-----------> intento guardar en addlista (listView3) el contenido del listview1
      end;
...

1º Es posible hacer lo que pretendo? esto es volcar dos listview en uno guardando sus columnas y todos sus items.
2º Aunque al compilar no me da error, no puedo acceder a los elementos en tiempo de ejecucion ¿donde está el error? ¿en que parte en concreto del código se produce el error?

Espero podais seguir ayudandome. Gracias y un saludo.
__________________
La juventud pasa, la inmadurez se supera, la ignorancia se cura con la educación, y la embriaguez con la sobriedad, pero la estupidez dura para siempre. Aristofanes.
Responder Con Cita