Autore Topic: Trasferimento testo fra due GridViw della stessa Form  (Letto 843 volte)

Offline Picavbg

  • Senatore Gambero
  • ******
  • Post: 1.620
    • Mostra profilo
Trasferimento testo fra due GridViw della stessa Form
« il: 17 Gennaio 2013, 11:21:00 »
Ho dovuto affrontare recentemente la gestione di trasferimento testo da una GridView ad un'altra costruite nella stessa Form, alternativamente dalla prima alla seconda o dalla seconda alla prima. Il risultato ottenuto mi é sembrato utile ed ho pensato di inserirlo in questo nuovo argomento di eventuale discussione per proporlo a chi, come me, dovesse incontrare una necessità  simile.

metodo di pseudo indirizzamento ad Oggetti grafici:
Può capitare di dovere trattare il testo internamente ad oggetti grafici della stessa natura senza però duplicare codice, specialmente se esteso. Supponiamo di dovere impegnare due GridView per trasferire il contenuto di una o più righe dalla prima alla seconda e viceversa, attraverso la selezione dell'utente.
Prima di tutto bisogna inserire nel parametro Tag delle GridView1 e GridView2 (da questo momento chiamate rispettivamente GridView di partenza e GridView di arrivo) una stringa per il riconoscimento automatico dela GridView con Focus attivo:
Codice: [Seleziona]
GridView1.Tag=”A”
GridView2.Tag=”B”

Nella sezione Dichirazioni della Form.Class relativa occorre dichiarare, in modo da renderli validi per tutta la classe, gli oggetti per una nuova istanza delle due GridView:
Codice: [Seleziona]
Private oGridView1 As Object[ ]
Private oGridView2 As Object[ ]
Nella stessa sezione (Dichiarazioni) dichiariamo gli oggetti indice che serviranno successivamente per indirizzare il puntamento alle righe delle due GridView:
Codice: [Seleziona]
Private oIndGridView1 As Object
Private oIndGridView2 As Object
Nelle procedure evento _DblClick delle due GridView basta richiamare un 'unica procedura Sub o Function, destinata a contenere le istruzioni di trattamento del testo della riga, selezionata di volta in volta:
Codice: [Seleziona]
Public Sub GridView1_DblClick()
  GriMovDblClick_Comu
End
Public Sub GridView2_DblClick()
  GriMovDblClick_Comu
End
La procedura comune risulterà pertanto simile al seguente esempio:
Codice: [Seleziona]
Private Sub GriMovDblClick_Comu()
Dim iInd1 As Integer
Dim iInd2 As Integer
'-----------------------------------------------------------------------------------------
  oGridView1 = New Object[ ]
  oGridView2 = New Object[ ]
  If Last.tag = "A" Then
      oGridView1.Add(GridView1) GridView di partenza
      oGridView2.Add(GridView2) GridView di arrivo
  Else
      oGridView1.Add(GridView2) nuova GridView di partenza
      oGridView2.Add(GridView1) nuova GridView di arrivo
  Endif
  For Each oIndGridView1 In oGridView1 ┐
  Next                                                  ├─────»  creano il criterio di puntamento automatico
  For Each oIndGridView2 In oGridView2 │
  Next                                                 ┘
 iInd1 = oIndGridView1.Row
  For iInd2 = 0 To oIndGridView2.Rows.count – 1
      If oIndGridView2[iInd2, 0].Text <> "" Then
           oIndGridView2[iInd2, 0].Text = oIndGridView1[iInd1, 0].Text
           oIndGridView2[iInd2, 1].Text = oIndGridView1[iInd1, 1].Text
...
           oIndGridView2[iInd2, n].Text = oIndGridView1[iInd1, n].Text (n = numero di colonne – 1 delle                                        ·    GridView di partenza e d'arrivo
           oIndGridView1[iInd1, 0].Text = “”
           oIndGridView1[iInd1, 1].Text = “”
...
           oIndGridView1[iInd1, n].Text = “”
·     Endif
· Next
End

Per chi volesse mettere in pratica l'esempio riportato qui sopra, ... Buon lavoro! ;D
 :ciao:
« Ultima modifica: 17 Gennaio 2013, 11:22:49 da Picavbg »
:ciao:

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.725
  • Ne mors quidem nos iunget
    • Mostra profilo
Re: Trasferimento testo fra due GridViw della stessa Form
« Risposta #1 il: 17 Gennaio 2013, 21:37:49 »
Ho dovuto affrontare recentemente la gestione di trasferimento testo da una GridView ad un'altra costruite nella stessa Form, alternativamente dalla prima alla seconda o dalla seconda alla prima. Il risultato ottenuto mi é sembrato utile ed ho pensato di inserirlo in questo nuovo argomento di eventuale discussione per proporlo a chi, come me, dovesse incontrare una necessità  simile.


A mio parere cose utili e didattiche come queste, andrebbero inserite anche nella nostra WIKI, voce: Guide della comunità, sub-voce: Oggetti in generale, oppure una nuova ad hoc per gli oggetti grafici in generale.
« Chiunque, non ricorrendo lo stato di necessità, nel proprio progetto Gambas fa uso delle istruzioni Shell o Exec, è punito con la sanzione pecuniaria da euro 20,00 a euro 60,00. »

Offline Picavbg

  • Senatore Gambero
  • ******
  • Post: 1.620
    • Mostra profilo
Re: Trasferimento testo fra due GridViw della stessa Form
« Risposta #2 il: 17 Gennaio 2013, 23:48:11 »
A mio parere cose utili e didattiche come queste, andrebbero inserite anche nella nostra WIKI, voce: Guide della comunità, sub-voce: Oggetti in generale, oppure una nuova ad hoc per gli oggetti grafici in generale.
Hai perfettamente ragione e vi ho già pensato, ma come ogni nuovo passo, ciò che non conosco mi iintimorisce alquanto e prima di allungare la gamba ho bisogno di riflettere, perchè potrei allungare prima la destra e poi compiere il secondo passo con la sinistra, ma forse, potrebbe essere meglio allungare prima la sinistra. In questo momento non mi sento pronto.  Grazie per l'incoraggiamento. :)
 :ciao:
:ciao:

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.725
  • Ne mors quidem nos iunget
    • Mostra profilo
Re: Trasferimento testo fra due GridViw della stessa Form
« Risposta #3 il: 18 Gennaio 2013, 01:35:52 »
In questo momento non mi sento pronto.  Grazie per l'incoraggiamento. :)


A questo punto mi vedo costretto  citare qunto scritto proprio nelle righe esplicative della nostra WIKI:

"Il Wiki di Gambas-it, cioè è una collezione di documenti ipertestuali che può essere modificata dai suoi utilizzatori ed i cui contenuti sono sviluppati in collaborazione da tutti coloro che ne hanno accesso, come in un forum. La modifica dei contenuti è aperta e libera e lo scopo è quello di condividere, scambiare, immagazzinare e ottimizzare la conoscenza in modo collaborativo.
 
"

e nella Guide della Comunità:
Raccolta di guide sui componenti, sui metodi e sugli algoritmi del linguaggio Gambas, nonché su ogni altro argomento utile, scritti e mantenuti dalla comunità italiana Gambas-it

Insomma, non mi sembra che ci sia scritto che possono dare un contributo solo ed esclusivamente i super-esperti; anzi mi pare di leggervi proprio un invito ed un esortazione a partecipare attivamente.  :-\
Inoltre, nelle singole pagine v'è una sezione "Discussione" ove si offre anche l'opportunità, volendo, di sollevare obiezioni o questioni in riferimento a quanto presente nella pagina medesima; sempre tenendo conto che chiunque iscritto può liberamente modificare (seppur a ragion veduta) o integrare quanto scritto in ciascuna pagina.

Del resto, poi, non credo  :-\ che, quando si scrive su un argomento attinente alla programmazione o si espone del codice, nella WIKI si debba essere seri o addirittura seriosi, ed invece qui nel forum si possano sparare cazzate ed essere superificiali !
Non ti pare ?
« Ultima modifica: 18 Gennaio 2013, 11:48:57 da vuott »
« Chiunque, non ricorrendo lo stato di necessità, nel proprio progetto Gambas fa uso delle istruzioni Shell o Exec, è punito con la sanzione pecuniaria da euro 20,00 a euro 60,00. »

Offline Picavbg

  • Senatore Gambero
  • ******
  • Post: 1.620
    • Mostra profilo
Re: Trasferimento testo fra due GridViw della stessa Form
« Risposta #4 il: 18 Gennaio 2013, 23:34:37 »
nelle singole pagine v'è una sezione "Discussione" ove si offre anche l'opportunità, volendo, di sollevare obiezioni o questioni in riferimento a quanto presente nella pagina medesima
Cioè, chi dovesse scrivere senza una giusta conoscenza dell'argomento trattato, può, giustamente essere ripreso o addirittura trovarsi modificato quanto scritto ... alla leggera e superficialmente.
Non mi pare che sia un bel modo di propormi come relatore.

Citazione da: vuott
Del resto, poi, non credo  che quando si scrive su un argomento attinente alla programmazione o si espone del codice, nella WIKI si debba essere seri o addirittura seriosi, ed invece qui   qui nel forum si possano sparare cazzate ed essere superificiali !
La mia esperienza sui Forum mi dice che rientra perfettamente nello spirito del Forum chiedere supporto volontario, ma anche quella di mettersi in gioco per crescere e tutti sappiamo che si cresce sbagliando. Il wiki invece dovrebbe essere, sempre secondo la mia modestissima opinione, la fonte certa a cui ricorrere per ricevere informazioni o trovare soluzioni.

Naturalmente posso anche sbagliarmi, ma ho voluto esprimere, senza volere perciò offendere alcuno, il mio più che modesto punto di vista.
 :ciao:
:ciao:

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.725
  • Ne mors quidem nos iunget
    • Mostra profilo
Re: Trasferimento testo fra due GridViw della stessa Form
« Risposta #5 il: 18 Gennaio 2013, 23:53:02 »
Cioè, chi dovesse scrivere senza una giusta conoscenza dell'argomento trattato, può, giustamente essere ripreso o addirittura trovarsi modificato quanto scritto ... alla leggera e superficialmente.
Ma se tu vedi ad esempio proprio Wikipedia, ogni sua pagina ha in alto a sinistra il collegamento alla discussione. Fa parte dello spirito di Wikipedia: un'informazione dovrebbe nascere soprattutto, laddove possibile, attraverso il confronto, la discussione e quindi l'approfondimento!  :-\


Il wiki invece dovrebbe essere, sempre secondo la mia modestissima opinione, la fonte certa

La mia esperienza (su altri argomenti) mi dice, invece, che - a cominciare da Wikipedia - quello che c'è scritto in questi siti non è in modo assoluto oro colato !
« Ultima modifica: 19 Gennaio 2013, 00:00:31 da vuott »
« Chiunque, non ricorrendo lo stato di necessità, nel proprio progetto Gambas fa uso delle istruzioni Shell o Exec, è punito con la sanzione pecuniaria da euro 20,00 a euro 60,00. »

Offline Top Fuel

  • Gran Maestro dei Gamberi
  • *****
  • Post: 959
    • Mostra profilo
Re: Trasferimento testo fra due GridViw della stessa Form
« Risposta #6 il: 19 Gennaio 2013, 18:42:51 »
Infatti ho potuto constatare anche io vari errori e discordanze su Wikipedia. Nessuno è perfetto, e neppure noi.
Inoltre se non pubblichi i listati non troverai nessuno che li prova e ti dice "Grazie, proprio quello che cercavo!" oppure "Ho trovato questa miglioria...". Io sarei contento se succedesse.
Dear youtube administrators, your search bar is broken. When I type the letter "J" it appears justin bieber when it should appear Jimi Hendrix. Fix this, please.

Offline Ceskho

  • Amministratore
  • Senatore Gambero
  • *****
  • Post: 3.778
  • Vi Veri Veniversum Vivus Vici
    • Mostra profilo
    • Pagina Personale
Re: Trasferimento testo fra due GridViw della stessa Form
« Risposta #7 il: 19 Gennaio 2013, 19:45:19 »
Credo che il sistema più "sicuro" a cui affidarsi sia il forum. Il forum genera discussione che arricchiscono il codice di informazioni importanti. Il wiki è importante per i concetti ma per discutere di codice il forum è il tocca sana.

Offline Picavbg

  • Senatore Gambero
  • ******
  • Post: 1.620
    • Mostra profilo
Re: Trasferimento testo fra due GridViw della stessa Form
« Risposta #8 il: 19 Gennaio 2013, 22:47:55 »
Credo che il sistema più "sicuro" a cui affidarsi sia il forum. Il forum genera discussione che arricchiscono il codice di informazioni importanti. Il wiki è importante per i concetti ma per discutere di codice il forum è il tocca sana.
:ok:
:ciao:

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.725
  • Ne mors quidem nos iunget
    • Mostra profilo
Re: Trasferimento testo fra due GridViw della stessa Form
« Risposta #9 il: 19 Gennaio 2013, 23:58:26 »
Credo che il sistema più "sicuro" a cui affidarsi sia il forum. Il forum genera discussione che arricchiscono il codice di informazioni importanti. Il wiki è importante per i concetti ma per discutere di codice il forum è il tocca sana.

Certamente. E' chiaro, anche dagli intenti degli Amministratori originari, che le due sezioni hanno scopi diversi: il Forum (come anche sottintende il termine latino) alla discussione, mentre il WIKI all'esposizione.
Se, però, un argomento è sperimentato ed accertato, non comprendo quali difficoltà vi siano a esporlo, appunto, nella nostra WIKI. Ad esempio, come ho già detto, questo argomento trattato da Picavbg, poiché lui - mi pare - che non ponesse al riguardo dubbi espliciti e/o domande, ha le carte in regola per essere inserito nella WIKI. La WIKI, per come è strutturata, è più organica. Inoltre, una pagina scritta nella WIKI, proprio perché di per sé assume un carattere un po' più formale, costringe quanto meno l'autore della pagina stessa a perfezionare, migliorare e ad aggiornare, quando necessario, ciò che è stato scritto.

Mi piace ancora una volta richiamare e ricordare l'intento - ...non di vuott - bensì degli Amministratori (che io condivido in pieno) secondo il quale:
"Il Wiki di Gambas-it, cioè è una collezione di documenti ipertestuali che può essere modificata dai suoi utilizzatori ed i cui contenuti sono sviluppati in collaborazione da tutti coloro che ne hanno accesso, come in un forum. La modifica dei contenuti è aperta e libera e lo scopo è quello di condividere, scambiare, immagazzinare e ottimizzare la conoscenza in modo collaborativo. "

e nella Guide della Comunità:
"Raccolta di guide sui componenti, sui metodi e sugli algoritmi del linguaggio Gambas, nonché su ogni altro argomento utile, scritti e mantenuti dalla comunità italiana Gambas-it."

Inoltre ho trovato anche questo intervento di Leo72 che conferma quanto detto:
"Il wiki è come quello della Wikipedia, puoi fare poi tutte le modifiche che ti pare: quindi, puoi creare pagine ex-novo ma puoi anche correggere eventuali errori. D'altronde, siamo umani e fallibili, tutti quanti noi possiamo sbagliare nello scrivere qualcosa. Ecco perché è importante che anche altri collaborino dando il loro contributo, anche piccolo.":
http://www.gambas-it.org/smf/index.php?topic=545.msg5123#msg5123

In fondo, poi, guardate, qui... non è che ci sono migliaia di iscritti attivi. Se ogni tanto qualcuno non ci mette mano, la WIKI non crescerà mai !  :-\

« Ultima modifica: 21 Gennaio 2013, 16:37:59 da vuott »
« Chiunque, non ricorrendo lo stato di necessità, nel proprio progetto Gambas fa uso delle istruzioni Shell o Exec, è punito con la sanzione pecuniaria da euro 20,00 a euro 60,00. »