Salve a tutti, espongo il mio problema un po' atipico.
Ho un piccolo framework casalingo che, dato un panel con dentro controlli, data una tabella DB, crea una classe business che rispecchia la tabella DB con determinati attributi.
In seguito mi basta fare viewObjPanel(obj, myPanel)
dove obj è la classe business, myPanel il pannello con tutti i controlli, per visualizzare tutti i dati nella pagina aspx.
Ora volendo migliorare il tutto, nella pagina non ci metto più un semplice pannello ma un FormView. Qui nasce il problema: funziona tutto, ovvero posso bindare i dati dell'istanza "obj" sul pannello contenuto ad esempio nell'ItemTemplate del formview, ma il formView non capisce di essere "bindato" e quindi non mi fa vedere nulla.
Se dico al formview di essere in "insert", vedo il pannello con i controlli, ma non riesco in ReadOnly ed in Edit.
Mi sapete dire come faccio a visualizzare il contenuto del formView forzando la visualizzazione? oppure c'è qualche altro medoto?
Vi posto un po di codice con squesta premessa:
1 - il formView ha i classici template con tutti i controlli che mi servono
2 - La classe obj_anagrafica ha la proprietà 1:1 con la tabella, ed un attributo per ogni proprietà specifica l'ID del controllo da associare.
3 - La funzione ViewObjValori associa appunto i valori delle proptietà dell'istanza ai controlli.
protected void L_Cliente_Click(object sender, EventArgs e)
{
obj_AnagraficaCliente obj = new obj_AnagraficaCliente(this.user_id.ToString());
obj.CODCLIENTE = "xx001";
obj.ID_OFFERTA = 3;
obj.INT_PROGRESSIV = 0;
obj.INTERLOCUTORECLIENTE = "Glauco Cucchiar";
obj.LUOGOINSTALLAZIONEIMPIANTO = "Torino";
obj.MAILINTERLOCUTORECLIENTE = "cpsglauco@yahoo.it";
obj.TELINTERLOCUTORECLIENTE = "393202020202";
this.Cliente1.Mode = FormViewMode.ReadOnly;
if (this.ViewObjValori(obj,this.Cliente1.getInternalPanel(obj.PANEL)))
{
Response.Write("yes");
}
else
{
Response.Write("no");
}
}
Nel controllo che contiene il formview:
public Panel getInternalPanel(string sPannello)
{
Panel pannello = new Panel();
switch (this.FormView1.CurrentMode)
{
case FormViewMode.Edit:
this.FormView1.EditItemTemplate.InstantiateIn(this.FormView1);
break;
case FormViewMode.Insert:
this.FormView1.InsertItemTemplate.InstantiateIn(this.FormView1);
break;
case FormViewMode.ReadOnly:
this.FormView1.ItemTemplate.InstantiateIn(this.FormView1);
break;
}
return (Panel)FormView1.FindControl(sPannello);
return null;
}
Tutto funzione perché i valori della classe vanno nei relativi controlli, la funzione abbinata al click del pulsante scrive regolarmente "yes", ma il formview non ne vuole sapere di apparire......
Help Please