Salve a tutti,
Più che un problema, ho bisogno di un chiarimento. Devo creare N tabelle (GridView) in base ad una query sul db:
codice:
private void someControl_Click(....)
{
DataSet ds = ...query sul db;
var groups = ds.Table[0].asEnumerable().Group(f => f.Field<int>("fkTable"));
foreach(var group in groups)
{
GridView tmp = new GridView();
tmp.DataSource = group;
tmp.DataBind();
tmp.SelectedIndexChanged += dataGridFunctionHandler;
// Aggiungo i campi e il CommandField Select
pagePanel.Controls.Add(tmp);
}
}
Allora... le tabelle ci sono, i dati ci sono ma non funziona la selezione della riga. O meglio non viene chiamata la "dataGridFunctionHandler". A questo punto ho pensato che dopo il postback si "perde" l'aggiunta del handler. Quindi i sostituito tutto questo con un repeater:
codice:
<asp:Repeater ID="..." ... >
<ItemTemplate>
<asp:GridView onSelectedItemChanged="dataGridFunctionHandler" ...>
....
</asp:GridView>
</ItemTemplate>
</asp:Repeater>
e nella someControl_Click ho assegnato il DataSource al repeater.
Così viene richiamata la dataGridFunctionHandler...ma mi sfugge il motivo per cui con il primo metodo non funziona mentre con questo si