- Home
- Categorie
- Coding e Sistemistica
- Altri linguaggi per il web
- C# Problema con datatable
-
C# Problema con datatable
Ciao a tutti.
Sto effettuando delle modifiche ad un sito.
In una pagina c'è una GridView caricata attualmente tramite un dataset.
Questo dataset è implementato da una query SQL.Ho necessità di creare una datatable con i valori trasposti del dataset, ovvero portare le righe in colonne e viceversa e caricare il GridView in questo modo.
Anticipo che non posso modificare la query (o almeno non mi conviene perché il dataset nel quale viene caricato viene utilizzato da molti grafici e altre tabelle..quindi preferirei lasciarlo in questo modo).
La soluzione mi sembrava molto semplice..
Per andare sul concreto, attualmente il tutto funziona così:
myGridView.DataSource = myDs.Tables[0];
myGridView.DataBind();Io invece ho creato un datatable, nel quale ciclando carico le righe del dataset nelle colonne dal datatable e carico quindi il GridView con la mia nuova tabella.
Il tutto funziona a meraviglia tranne che per un problema:Il mio dataset originale restituisce del valori di tipo Double. (object{double})
Ma quando vado a riportarli nel datatable non ho modo di trasformarli in Double, ma restano di tipo Object String.Ho provato a fare convert, parse etc.. ho anche provato ad appoggiare i valori dentro variabili di tipo Double ma niente..
Inutile dire che mi servono in Double quei valori perché mi servono per effettuare delle operazioni e successivamente devo fare degli arrotondamenti in fase di visualizzazione.
Preciso che non tutti i valori sono double, ovvero le intestazioni delle colonne e i valori della prima colonna sono stringhe.
la tabella insomma è così:
string | string | string | string | string | <--INTESTAZIONE
string | double | double | double | double |
string | double | double | double | double |
string | double | double | double | double |
string | double | double | double | double |In ogni caso quando ciclo ho fatto in modo di caricare prima l'intestazione, poi la prima colonna e con un ciclo a parte i valori double, per poter fare la conversione.
Non riesco proprio a capire perché il dataset caricato da query SQL è corretto, se creo una copia del dataset o lo copio in una tabella mi mantiene la tipologia di tutti i valori.. mentre se provo a replicare un dataset, o un datatable o anche solo un datarow.. perdo la tipologia double.
Qualche suggerimento? Mi sfugge qualcosa?
Grazie mille a tutti!Lela
-
Ho risolto.. impostando il typeof(double) quando faccio ADD della colonna.. mi era proprio sfuggito!