[Risolto]Grid control visualizzare Date
[Risolto]Grid control visualizzare Date
Salve a tutti, torno sull'argomento gridcontrol in finestre di dialogo perché mi sono accorto di un'altro problemino.
Questa mia griglia prende i dati tra le altre cose, da una colonna formattata come Data.Ora giustamente nella griglia invece di es. 12/02/2017 vedrò una serie di numeri es.45539
C'È modo per aggirare il problema o devo cambiare la formattazione sul foglio?Non vorrei visto che poi non potrei ordinare per data.
Tra l'altro questo problema è comune anche a listbox e combobox.
Grazie.
Questa mia griglia prende i dati tra le altre cose, da una colonna formattata come Data.Ora giustamente nella griglia invece di es. 12/02/2017 vedrò una serie di numeri es.45539
C'È modo per aggirare il problema o devo cambiare la formattazione sul foglio?Non vorrei visto che poi non potrei ordinare per data.
Tra l'altro questo problema è comune anche a listbox e combobox.
Grazie.
Ultima modifica di maxrome84 il mercoledì 1 marzo 2017, 18:17, modificato 1 volta in totale.
Open Office 4 beta
windows 7
windows 7
Re: Grid control visualizzare Date
No, devi leggere i dati come string quindi cambiare la macro
LibreOffice 7.2.2.2 windows 10
Openoffice 4.1.13 su windows 10
Openoffice 4.1.13 su windows 10
Re: Grid control visualizzare Date
Grazie intanto per la risposta Gaetanopr. Visto che popolo la griglia con un array come mi hai mostrato tu, ho provato a dichiarare string l'array ma il risultato non cambia...
dim arr() as string
Arr() = archivio.getcellRangeByName("A2:I" & LastRow+1).GetDataArray
datamodel.addRows(Arr, Arr)
dim arr() as string
Arr() = archivio.getcellRangeByName("A2:I" & LastRow+1).GetDataArray
datamodel.addRows(Arr, Arr)
Open Office 4 beta
windows 7
windows 7
Re: Grid control visualizzare Date
Non ho detto di dichiarare l'array come string ma di acquisire i dati come testo.
Una soluzione è popolare l'array e poi andare a cambiare solo la colonna interessata.
Riprendendo il tuo vecchio file, quindi colonne A B C , consideriamo che la colonna A è quella con le date, puoi fare in questo modo.
Una soluzione è popolare l'array e poi andare a cambiare solo la colonna interessata.
Riprendendo il tuo vecchio file, quindi colonne A B C , consideriamo che la colonna A è quella con le date, puoi fare in questo modo.
Codice: Seleziona tutto
Arr() = archivio.getcellRangeByName("A2:I" & LastRow+1).GetDataArray
For i = 1 To LastRow
Arr() = archivio.getcellByPosition(0, i).String
Next i
datamodel.addRows(Arr, Arr)
LibreOffice 7.2.2.2 windows 10
Openoffice 4.1.13 su windows 10
Openoffice 4.1.13 su windows 10
Re: Grid control visualizzare Date
Si inizialmente avevo pensato la stessa cosa, ma avevo scartato questa soluzione perché avendo moltissime righe, leggere riga per riga mi rallenterebbe troppo l'esecuzione.
A me andrebbe bene anche leggere l'intero range come string.C'é modo di farlo?
Grazie ancora.
A me andrebbe bene anche leggere l'intero range come string.C'é modo di farlo?
Grazie ancora.
Open Office 4 beta
windows 7
windows 7
Re: Grid control visualizzare Date
Guarda ho provato con 50000 righe ed è immediato, deve leggere solo una colonna gli array sono velocissimi non è come andare a leggere riga per riga, colonna per colonna ed inserirla nel grid come facevi inizialmente tu.
Comunque come dici tu si può fare solamente se formatti la cella come testo
Comunque come dici tu si può fare solamente se formatti la cella come testo
LibreOffice 7.2.2.2 windows 10
Openoffice 4.1.13 su windows 10
Openoffice 4.1.13 su windows 10
Re: Grid control visualizzare Date
È vero scusa, non avevo considerato la differenza.
Quindi volendo lasciare la formattazione come DATA , dovrei convertire da codice la data in stringa?
Quindi volendo lasciare la formattazione come DATA , dovrei convertire da codice la data in stringa?
Open Office 4 beta
windows 7
windows 7
Re: Grid control visualizzare Date
La macro che ti ho allegato fà questo
LibreOffice 7.2.2.2 windows 10
Openoffice 4.1.13 su windows 10
Openoffice 4.1.13 su windows 10
Re: Grid control visualizzare Date
Scusa Gaetanopr ma a me continua a visualizzare le date in modo sbagliato.Avrò sbagliato a modificare qualcosa.Ti allego un file di esempio.
- Allegati
-
- TEST.ods
- (13.41 KiB) Scaricato 168 volte
Open Office 4 beta
windows 7
windows 7
Re: Grid control visualizzare Date
Ho sbagliato nel messaggio precedente
Codice: Seleziona tutto
For i = 1 To 28 'LastRow
Arr(i-1)(1) = sheet.getcellByPosition(1, i).String
Next i
datamodel.addRows(Arr, Arr)
LibreOffice 7.2.2.2 windows 10
Openoffice 4.1.13 su windows 10
Openoffice 4.1.13 su windows 10
Re:Grid control visualizzare Date
Grazie ancora tanto per la pazienza! Inserisco risolto!
Ultima modifica di maxrome84 il mercoledì 1 marzo 2017, 18:18, modificato 2 volte in totale.
Open Office 4 beta
windows 7
windows 7
Re: Grid control visualizzare Date
LibreOffice 7.2.2.2 windows 10
Openoffice 4.1.13 su windows 10
Openoffice 4.1.13 su windows 10
Re: [Risolto]Grid control visualizzare Date
Sistemato! Alla prima botta non ci azzecco mai!
Open Office 4 beta
windows 7
windows 7