Autore Topic: [RISOLTO] Copiare dati tra due GridView  (Letto 1212 volte)

Offline tornu

  • Gran Maestro dei Gamberi
  • *****
  • Post: 855
    • Mostra profilo
[RISOLTO] Copiare dati tra due GridView
« il: 18 Dicembre 2009, 23:57:28 »
Ho due GridView di cui una è vuota e l'altra contiene dati, alla pressione di un bottone i dati devono essere copiati nella GridView vuota.
Ho provato con questo codice
Codice: [Seleziona]
PUBLIC SUB Button_Click()
  DIM i AS Integer

  FOR i = 0 TO GridView1.Rows.Count - 1    
    GridView2[i, 0].Text = GridView1[i, 1].Text
    GridView2[i, 1].Text = GridView1[i, 2].Text
    GridView2[i, 2].Text = GridView1[i, 3].Text
    GridView2[i, 3].Text = GridView1[i, 4].Text
    GridView2[i, 4].Text = GridView1[i, 5].Text
    GridView2[i, 5].Text = GridView1[i, 6].Text
    GridView2[i, 6].Text = GridView1[i, 7].Text
    GridView2[i, 7].Text = GridView1[i, 8].Text
  NEXT
END

ma ottengo un bel: Bad row index
la posizione delle colonne è così come l'ho postata.
Come posso fare?
Il software è come il sesso, è meglio quando è libero. (Linus Torvalds)

Offline Golia

  • Senatore Gambero
  • ******
  • Post: 1.298
  • no xe mai massa tardi
    • Mostra profilo
Re: Copiare dati tra due GridView
« Risposta #1 il: 19 Dicembre 2009, 00:06:04 »
Ciao, non so se hai fatto volutamente per qualche motivo o è un errore, a me mi sembra che non siano allineate le righe
Codice: [Seleziona]
GridView2[i, 0].Text = GridView1[i, 1].Text


mi sembra che dovrebbe essere
Codice: [Seleziona]
GridView2[i, 0].Text = GridView1[i, 0].Text



edit:
No forse ho inteso male io..

Offline tornu

  • Gran Maestro dei Gamberi
  • *****
  • Post: 855
    • Mostra profilo
Re: Copiare dati tra due GridView
« Risposta #2 il: 19 Dicembre 2009, 00:20:20 »
Sono proprio così.
Ho corretto il codice in questo modo
Codice: [Seleziona]
PUBLIC SUB Button_Click()
   DIM i, k AS Integer

    FOR k = 0 TO GridView2.Rows.Count - 1
    FOR i = 0 TO GridView1.Rows.Count - 1
      GridView2[k, 0].Text = GridView1[i, 1].Text
      GridView2[k, 1].Text = GridView1[i, 2].Text
      GridView2[k, 2].Text = GridView1[i, 3].Text
      GridView2[k, 3].Text = GridView1[i, 4].Text
      GridView2[k, 4].Text = GridView1[i, 5].Text
      GridView2[k, 5].Text = GridView1[i, 6].Text
      GridView2[k, 6].Text = GridView1[i, 7].Text
      GridView2[k, 7].Text = GridView1[i, 8].Text
    NEXT
    NEXT
 END

Non mi dà più l'errore, ma la GridView2 non visualizza niente.
Ancora non ci siamo.
Il software è come il sesso, è meglio quando è libero. (Linus Torvalds)

Offline Ceskho

  • Amministratore
  • Senatore Gambero
  • *****
  • Post: 3.778
  • Vi Veri Veniversum Vivus Vici
    • Mostra profilo
    • Pagina Personale
Re: Copiare dati tra due GridView
« Risposta #3 il: 19 Dicembre 2009, 00:31:47 »
Codice: [Seleziona]

PUBLIC SUB Button_Click()
  DIM i AS Integer
  DIM k AS Integer

  FOR i = 0 TO GridView1.Rows.Count - 1
    k = i
    GridView2[k, 0].Text = GridView1[k, 1].Text
    GridView2[k, 1].Text = GridView1[k, 2].Text
    GridView2[k, 2].Text = GridView1[k, 3].Text
    GridView2[k, 3].Text = GridView1[k, 4].Text
    GridView2[k, 4].Text = GridView1[k, 5].Text
    GridView2[k, 5].Text = GridView1[k, 6].Text
    GridView2[k, 6].Text = GridView1[k, 7].Text
    GridView2[k, 7].Text = GridView1[k, 8].Text
    GridView2.Refresh
  NEXT
END


Così va?

Offline milio

  • Senatore Gambero
  • ******
  • Post: 1.273
  • Chi parla poco dice tanto...
    • Mostra profilo
Re: Copiare dati tra due GridView
« Risposta #4 il: 19 Dicembre 2009, 09:52:28 »
Ma sei sicure che nella GridView vuota ci sia un numero sufficiente di righe?

Offline Ceskho

  • Amministratore
  • Senatore Gambero
  • *****
  • Post: 3.778
  • Vi Veri Veniversum Vivus Vici
    • Mostra profilo
    • Pagina Personale
Re: Copiare dati tra due GridView
« Risposta #5 il: 19 Dicembre 2009, 15:05:38 »
Citazione

milio ha scritto:
Ma sei sicure che nella GridView vuota ci sia un numero sufficiente di righe?


Se non da più l'errore "out of bound" vuol dire che il numero di righe è già impostato...nel caos non fosse codì basta aggiungere al codice

Codice: [Seleziona]
GridView2.Rows.Count = GridView1.Rows.Count

Offline tornu

  • Gran Maestro dei Gamberi
  • *****
  • Post: 855
    • Mostra profilo
Re: Copiare dati tra due GridView
« Risposta #6 il: 19 Dicembre 2009, 15:16:26 »
No Ceskho, ottengo l'errore iniziale "Bad row index".

@milio
Non è un problema di numero righe, che viene determinato dalla variabile.
Non credo comunque che ci sia un "limite" di numero di righe...penso...(porrò il problema in una mia prossima discussione).
Le colonne sono così come le ho postate, perchè la GridView1 deve passare solo alcuni dati che sono in colonne non speculari alle colonne della GridView2.
Il software è come il sesso, è meglio quando è libero. (Linus Torvalds)

Offline tornu

  • Gran Maestro dei Gamberi
  • *****
  • Post: 855
    • Mostra profilo
Re: Copiare dati tra due GridView
« Risposta #7 il: 19 Dicembre 2009, 20:56:49 »
Citazione

Ceskho ha scritto:
Codice: [Seleziona]
GridView2.Rows.Count = GridView1.Rows.Count

 :ok:  :ok: Perfettamente funzionante, mancava questa istruzione.
Grazie  :prof: Ceskho.
Il software è come il sesso, è meglio quando è libero. (Linus Torvalds)

Offline milio

  • Senatore Gambero
  • ******
  • Post: 1.273
  • Chi parla poco dice tanto...
    • Mostra profilo
Re: Copiare dati tra due GridView
« Risposta #8 il: 19 Dicembre 2009, 22:51:45 »
Allora era come dicevo io: il numero di righe non erano sufficienti