#681 - Aggiungere un EmptyTemplate al Repeater
crixo non è online. Ultima attività: 13/05/2008 18.56.08crixo
Inserito il: 23 febbraio 2005 12.58
contributi / www.webprofessor.it / 455 messaggi dal 26 giu 2002 Istalla Microsoft Silverlight!
molto bello... ma c'è un problema/modifica da fare...

se metto

<HeaderTemplate>
<h1>titolo</h1>
<div>
</HeaderTemplate>
<ItemTemplate>
....
</ItemTemplate>
<EmptyTemplate>
no data
</EmptyTemplate>
<FooteTemplate>
</div>
</FooteTemplate>


il mio output in caso di mancnza di dati sarà

// HeaderTemplate
<h1>titolo</h1>
<div>
// Footer
</div>
// Empty
no data


ossia il mio EmptyTemplate è messo dopo il FooterTempalte

come rimedio a questo problema di modo che rispetti la gerarchia
Header - Empty/Item - Footer?

Microsoft Most Valuable Professional
Re: #681 - Aggiungere un EmptyTemplate al Repeater
Daniele Bochicchio non è online. Ultima attività: 18/07/2008 17.51.59Daniele Bochicchio
Inserito il: 23 febbraio 2005 13.03
contributi / Top Poster / Community manager / daniele.aspitalia.com / Blog / 9466 messaggi dal 31 ago 1998 Istalla Microsoft Silverlight!
riscrivendo l'ordine con cui il controllo istanzia i template, ma è un lavoraccio, è quasi come riscriverlo.
molto meglio invece rende invisibile il footer ed inglobarne il codice nell'Empty

Daniele Bochicchio

ASP.NET
.NET Framework
LINQ
Silverlight
Re: #681 - Aggiungere un EmptyTemplate al Repeater
crixo non è online. Ultima attività: 13/05/2008 18.56.08crixo
Inserito il: 23 febbraio 2005 14.13
contributi / www.webprofessor.it / 455 messaggi dal 26 giu 2002 Istalla Microsoft Silverlight!
come e dove rendo invisibile un Itemplate?

Microsoft Most Valuable Professional
Re: #681 - Aggiungere un EmptyTemplate al Repeater
Daniele Bochicchio non è online. Ultima attività: 18/07/2008 17.51.59Daniele Bochicchio
Inserito il: 23 febbraio 2005 16.04
contributi / Top Poster / Community manager / daniele.aspitalia.com / Blog / 9466 messaggi dal 31 ago 1998 Istalla Microsoft Silverlight!
hai talmente tante opzioni che quella migliore devi solo sceglierla.
puoi evitare di fare il rendering di tutto il resto escluso l'EmptyTemplate, non eseguendo base.Render(), oppure incettare l'evento Item_Created del controllo e verificare, attraverso ItemType del controllo che scatena l'evento quale tipo di template è.
puoi, ancora, riscrivere tutto in modo che istanzi a mano i template, esattamente come è stato fatto per quello da visualizzare in mancanza di dati, e quindi averlo nel giusto posto, prima di footer.

Daniele Bochicchio

ASP.NET
.NET Framework
LINQ
Silverlight
Re: #681 - Aggiungere un EmptyTemplate al Repeater
crixo non è online. Ultima attività: 13/05/2008 18.56.08crixo
Inserito il: 01 marzo 2005 10.18
contributi / www.webprofessor.it / 455 messaggi dal 26 giu 2002 Istalla Microsoft Silverlight!
sto impazzendo...
come faccio a fare il render solo dell'EmptyTemplate?


protected override void Render(HtmlTextWriter output) {
// se non ci sono dati, istanzio il template
if (this.Items.Count == 0 && EmptyTemplate != null){
EmptyTemplate.InstantiateIn(this);
// qui devo fare il render solo del mio EmptyTemplate...
// COME FACCIO???
}
else
base.Render(output);

//
}


Re: #681 - Aggiungere un EmptyTemplate al Repeater
Strillo non è online. Ultima attività: 23/05/2006 14.48.54Strillo
Inserito il: 13 febbraio 2006 15.25
1 messaggio dal 13 feb 2006 Istalla Microsoft Silverlight!
Ciao,
ho dovuto affrontare lo stesso problema per un controllo DataGrid.. nel mio caso l'intera griglia doveva essere sostituita da un messaggio, ragion per cui ho risolto così:
Sulla pag. ASPX

<EmptyTemplate><P style="COLOR: red">Nessun record trovato!</P></EmptyTemplate>

Sul codice del DataGrid custom:

protected override void Render(HtmlTextWriter output)
{
Control c = new Control();
if((this.Items.Count == 0)&&(EmptyTemplate != null))
{
EmptyTemplate.InstantiateIn(c);
c.RenderControl(output);
}
else
base.Render(output);
}

Vai a:

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.


COMMUNITY
ULTIMI MESSAGGI


IN EVIDENZA
MISC
Powered by .db Forums