Impossibile recuperare i dati da gridview dinamico

giovedì 27 febbraio 2014 - 17.55
Tag Elenco Tags  C#  |  .NET 4.0

svipla Profilo | Senior Member

Ciao a tutti
Ho creato un gridview con numero di celle che non era noto. Per far questo ho passato una struttura dati di questo tipo:
List<tipoGiorno> giorni
{
string colonna;
string titolo;
List<tipoRowTariffa >tariffe
{
decimal Costo;
string Livello;
}
}

Quando passo questi dati, il gridview mi crea in automatico solo le celle per colonna e titolo, mentre devo creare io le altre celle:
protected void grwTariffa_RowCreated(object sender, GridViewRowEventArgs e) { if (e.Row.RowType == DataControlRowType.Header) { e.Row.Visible = false; } else if (e.Row.RowType == DataControlRowType.DataRow) { tipoRowTariffa item = (tipoRowTariffa)e.Row.DataItem; if (item != null) { e.Row.Cells[0].Visible = false; foreach (tipoDatiTariffa cell in item.Giorni) e.Row.Cells.Add(new TableCell()); } } }

e all'interno delle celle devo inserire delle textbox:
protected void grwTariffa_RowDataBound(object sender, GridViewRowEventArgs e) { if (e.Row.RowType == DataControlRowType.DataRow) { tipoRowTariffa dati = (tipoRowTariffa)e.Row.DataItem; List<TableCell> row = new List<TableCell>(); TableCell cell = new TableCell(); tipoDatiTariffa day_dati = new tipoDatiTariffa(); int i = 0; switch (e.Row.Cells[0].Text) { case "tariffa": i = 2; foreach (DateTime day in dati.Giorni.Select(item => item.Giorno)) { day_dati = dati.Giorni.Find(item => item.Giorno == day); TextBox txt = new TextBox(); txt.ID = "txtTariffa"; txt.Text = day_dati.Costo.ToString(); e.Row.Cells[i].Controls.Add(txt); i++; } break; } } }

Dopo che l'utente ha modificato i dati nella textbox, vorrei recuperare i dati e salvarli nel db, ma quando provo a leggere le celle del gridview al postback, ho solo 2 celle: colonna e titolo. Perdo tutte le celle che ho creato in RowCreated.
Ho provato a inserire il DataBind del gridview fuori dal !Page.IsPostBack, ma ricevo un errore perchè le textbox esistono già.

Come posso recuperare i dati presenti nel gridview?
La procedura di creazione del gridview è esatta?
Grazie mille
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 !
Copyright © dotNetHell.it 2002-2025
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5