Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
ASP.NET 2.0 / 3.5 / 4.0
Impossibile Generare Colonne Automatiche con DataGrid
mercoledì 11 marzo 2009 - 12.02
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
ysdemarc
Profilo
| Expert
587
messaggi | Data Invio:
mer 11 mar 2009 - 12:02
Tra due datatable ottenuti da due select sql differenti mi genero un datatable di output che contiene i dati dei due datatable (secondo un'eleaborazione ben precisa devo alternare le righe mantenendo l'ordine imposto nella select)
quindi utilizzo quindi facico una cosa del genere:
DataTable dt = new DataTable("TableResultWorking");
//.... varie elaborazione.. dove dr1 è il DataRow del primo datatable e dr2 il datarow del secondo datatable
dt.ImportRow(dr1);
dt.ImportRow(dr2);
dt.AcceptChanges();
DataGrid1.DataSource = dt;
DataGrid1.DataMember = "TableResultWorking";
DataGrid1.DataBind();
a questo punto mi esce fuori quest'errore non appena fa il DataBind():
Il DataGrid con ID 'DataGrid1' non può generare automaticamente alcuna colonna dall'origine dati selezionata.
Descrizione: Eccezione non gestita durante l'esecuzione della richiesta Web corrente. Per ulteriori informazioni sull'errore e sul suo punto di origine nel codice, vedere l'analisi dello stack.
Dettagli eccezione: System.Web.HttpException: Il DataGrid con ID 'DataGrid1' non può generare automaticamente alcuna colonna dall'origine dati selezionata.
Analisi dello stack:
[HttpException (0x80004005): Il DataGrid con ID 'DataGrid1' non può generare automaticamente alcuna colonna dall'origine dati selezionata.]
System.Web.UI.WebControls.DataGrid.CreateAutoGeneratedColumns(PagedDataSource dataSource)
System.Web.UI.WebControls.DataGrid.CreateColumnSet(PagedDataSource dataSource, Boolean useDataSource)
System.Web.UI.WebControls.DataGrid.CreateControlHierarchy(Boolean useDataSource)
System.Web.UI.WebControls.BaseDataList.OnDataBinding(EventArgs e)
System.Web.UI.WebControls.BaseDataList.DataBind()
Report.Result.AperturaPagina(Object sender, EventArgs e) in c:\inetpub\wwwroot\report\result.aspx.cs:63
Report.Result.Page_Load(Object sender, EventArgs e) in c:\inetpub\wwwroot\report\result.aspx.cs:28
System.Web.UI.Control.OnLoad(EventArgs e)
System.Web.UI.Control.LoadRecursive()
System.Web.UI.Page.ProcessRequestMain()
Ho pensato potesse essere qualcosa impostato male nel controllo, ma se gli passo un datatable qualsiasi ottenuto da una select sql non ho problemi.
Ho cercato di creare le colonne nel dataGrid in fase di esecuzione, ma non so come associare ad ogni dataGriDColumn la colonna del datatable...
mi aiutate?
--------------------------
OK RISOLTO
--------------------------
in pratica l'errore me lo dava sia se cinserivi i DataColumnso meno..
così ho risolto prima di fare la ImportRow
for (int i=0; i < dt1.Columns.Count; i++)
{
DataColumn dc = dt1.Columns[i];
dt.Columns.Add(dc.ColumnName, dc.DataType);
}
precedente mente avevo sbagliato poichè al posto di dc.DataType avevo messo dc.GetType() ... lo so..errore di distrazione..
ciao a tutti
Vincenzo
Programmatore sbilenco
Torna su
Stanze Forum
Elenco Threads
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?
Dopo esserti registrato potrai chiedere
aiuto sul nostro
Forum
oppure aiutare gli altri
Consulta le
Stanze
disponibili.
Registrati ora !