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
Repeater e dettaglio in ajax
lunedì 19 maggio 2008 - 22.44
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
squilibrio
Profilo
| Expert
527
messaggi | Data Invio:
lun 19 mag 2008 - 22:44
Ho 3 repeater in una pagina
<asp:Repeater ID="rptGiorno1" runat="server" OnItemDataBound="rptGiorno1_ItemDataBound">
<HeaderTemplate>
<table border="1" width="100%">
<tr>
<th>
<div align="center"><asp:Label id="lblRpt1Titolo" runat="server" CssClass="TextBold10"> </asp:Label></div>
<div align="center"><asp:Label id="lblRpt1Giorno" runat="server" CssClass="Text10"> </asp:Label></div>
</th>
</tr>
</HeaderTemplate>
<ItemTemplate>
<tr>
<td>
<asp:Image ID="imgTipo" runat="server" />
[<asp:Label id="Label2" runat="server" CssClass="Text10" Text='<%# DataBinder.Eval(Container.DataItem, "DescrizioneAttivitaTipo")%>'> </asp:Label>]
<br /><br />
<asp:Label id="Label1" runat="server" CssClass="Text10"
Text='<%# DataBinder.Eval(Container.DataItem, "Data")%>'>
</asp:Label>
<br /><br />
<asp:Label id="Label4" runat="server" CssClass="Text10"
Text='<%# DataBinder.Eval(Container.DataItem, "Anagrafica")%>'>
</asp:Label>
<br /><br />
<asp:Label id="Label3" runat="server" CssClass="Text10"
Text='<%# DataBinder.Eval(Container.DataItem, "Descrizione")%>'>
</asp:Label>
</td>
</tr>
<tr>
<td>
<hr />
</td>
</tr>
</ItemTemplate>
<FooterTemplate>
</table>
</FooterTemplate>
</asp:Repeater>
<asp:Repeater ID="rptGiorno2" runat="server" OnItemDataBound="rptGiorno2_ItemDataBound">
<HeaderTemplate>
<table border="1" width="100%">
<tr>
<th>
<div align="center"><asp:Label id="lblRpt2Titolo" runat="server" CssClass="TextBold10"> </asp:Label></div>
<div align="center"><asp:Label id="lblRpt2Giorno" runat="server" CssClass="Text10"> </asp:Label></div>
</th>
</tr>
</HeaderTemplate>
<ItemTemplate>
<tr>
<td>
[<asp:Label id="Label2" runat="server" CssClass="Text10" Text='<%# DataBinder.Eval(Container.DataItem, "DescrizioneAttivitaTipo")%>'> </asp:Label>]
<br /><br />
<asp:Label id="Label1" runat="server" CssClass="Text10"
Text='<%# DataBinder.Eval(Container.DataItem, "Data")%>'>
</asp:Label>
<br /><br />
<asp:Label id="Label4" runat="server" CssClass="Text10"
Text='<%# DataBinder.Eval(Container.DataItem, "Anagrafica")%>'>
</asp:Label>
<br /><br />
<asp:Label id="Label3" runat="server" CssClass="Text10"
Text='<%# DataBinder.Eval(Container.DataItem, "Descrizione")%>'>
</asp:Label>
</td>
</tr>
<tr>
<td>
<hr />
</td>
</tr>
</ItemTemplate>
<FooterTemplate>
</table>
</FooterTemplate>
</asp:Repeater>
quando clicco su un elemento di ogni riga dei repeater... posso aggiungere qualunque oggetto ... vorrei visualizzare il dettaglio in questa tabella
(ho già guardato parecchi esempi ajax ma non capisco come gestire questa situazione con i repeater della mia pagina)
<table CssClass="Text10" width="99%">
<tr bgcolor="#81B8ED">
<td CssClass="Text10">
data
<asp:TextBox runat="server" ID="tbData" Width="70px" CssClass="Text10" OnTextChanged="Page_Load" />
<asp:ImageButton runat="server" ID="imgData" ImageUrl="../images/Calendar_scheduleHS.png" AlternateText="Click to show calendar" />
<ajaxToolkit:CalendarExtender ID="CalendarExtender1" runat="server" TargetControlID="tbData" PopupButtonID="imgData" />
</td>
<td CssClass="Text10">
tipo
<asp:DropDownList ID="ddlTipologia" runat="server" CssClass="Text11" OnSelectedIndexChanged="ddlRicercaStato_SelectedIndexChanged">
</asp:DropDownList></td>
<td cssclass="Text10">
stato
<asp:DropDownList ID="ddlStato" runat="server" CssClass="Text11" OnSelectedIndexChanged="ddlRicercaStato_SelectedIndexChanged">
</asp:DropDownList></td>
<td CssClass="Text10">
rgp <asp:DropDownList ID="ddlOwner" runat="server" CssClass="Text11" OnSelectedIndexChanged="ddlRicercaStato_SelectedIndexChanged">
</asp:DropDownList></td>
<td cssclass="Text10">
<asp:TextBox ID="tbDescrizione" runat="server" CssClass="Text11" Rows="2" TextMode="MultiLine" Width="250px" ></asp:TextBox></td>
<td cssclass="Text10">
<asp:Button ID="btnOK" runat="server" Text="Salva" /></td>
</tr>
</table>
Grazie!
Wamba
Profilo
| Expert
722
messaggi | Data Invio:
mar 20 mag 2008 - 08:39
Ciao,
magari è colpa mia che non ho molto tempo per leggere il codice: Mi puoi spiegare più precisamente qual'è il tuo problema?
Identificare in un postback quale degli elementi di un repeater è stato cliccato?
-----------------------------------------------------------
Solo chi ha il Caos dentro può generare una stella danzante
Wamba
http://blogs.ugidotnet.org/WamBlog/
http://www.intellimaker.com
squilibrio
Profilo
| Expert
527
messaggi | Data Invio:
mar 20 mag 2008 - 17:12
Prima di tutto grazie per l'aiuto, ho inserito il codice sopra in uno user control
quindi non posso (come faccio spesso) aggiungere un link (o un pulsante) in ogni riga del repeater che ricarica la pagina con l'ID della riga (Pagina.aspx?ID=MioIDRiga) dato che non so in quale pagina potrò mettere lo user control
allora ho pensato, gestisco tramite ajax (ho già visto/utilizzato gli esempio dell'ajax tool kit, ma questa volta non so come adattarli al mio problema)
quindi al click di un oggetto (hyperlink o immagine... fai tu)
caricare (tramite l'ID della riga del repeater) i dati in alcuni campi (textbox e dropdownlist)
Grazie mille!
Wamba
Profilo
| Expert
722
messaggi | Data Invio:
mar 20 mag 2008 - 23:36
Io la imposterei in questo modo:
Allora hai un controllo con un compito generico: in base a dove viene inserito deve fare qualcosa di diverso in base all'id della riga con un oggetto cliccato (imagebutton o linkedbutton).
Io sfrutterei il campo commandargument (che è presente in entrambi gli oggetti se non sbaglio) per stoccare il numero della riga come fai per le altre proprietà in binding. Interecetti l'evento associato al pulsante da controllo e attracerso sender.commandargument ricavi qual'è l'id della riga. Infine propaghi un evento del tuo controlli e lasci che sia la pagina o il controllo contenitore a decidere cosa fare.
Se non ho capitoil problme, non ti va bene la soluzione o non riesci a realizzarla chiedi pure. Se invece ti soddisfa fammi sapere che fa sempre piacere ;)
-----------------------------------------------------------
Solo chi ha il Caos dentro può generare una stella danzante
Wamba
http://blogs.ugidotnet.org/WamBlog/
http://www.intellimaker.com
squilibrio
Profilo
| Expert
527
messaggi | Data Invio:
mer 21 mag 2008 - 11:33
La tua soluzione mi piace, anche perchè mi basta risolvere il problema... non voglio usare ajax per forza
non capisco come inserire un button (server) e gestire il caricamento all'evento
potresti farmi un esempio???
Thanks
Wamba
Profilo
| Expert
722
messaggi | Data Invio:
mer 21 mag 2008 - 13:47
Il button server ce l'hai è quello dentro il repeater e per quanto riguarda la gestione dell'evento del bottono è quella standard come in pagina.
Per quanto riguarda creare un evento personalizzato guarda questo link, mi pare che sia scritto bene.
-----------------------------------------------------------
Solo chi ha il Caos dentro può generare una stella danzante
Wamba
http://blogs.ugidotnet.org/WamBlog/
http://www.intellimaker.com
squilibrio
Profilo
| Expert
527
messaggi | Data Invio:
mer 21 mag 2008 - 17:07
Potresti farmi un semplice esempio???
(non vedo il link tra l'altro ;-(()
Grazie
Wamba
Profilo
| Expert
722
messaggi | Data Invio:
gio 22 mag 2008 - 08:39
Ok mi sono perso il CTRL-V
, sono già sonato di mio se aggiungo la fretta e le classi JS che mi fanno dannare...
Devi dichiarare come attributo del tuo controllo un delegato e un evento che sfrutta il delegato:
public delegate void dlMyDelegate(int RowIndex);
public event dlMyDelegate MyEvent;
NB: Il delegato è un prototipo di funzione ovvero come dire una qualunque funzione che accetta questi parametri e che restituisce questo tipo.
In questo caso ho già previsto il parametro RowIndex che ti serviva.
Poi quando devi scatenare l'evento:
if (MyEvent!= null) { MyEvent.Invoke(RowId); }
Non ti dimenticare l'if perchè se nessuno ha agganciato l'evento e provi ad invocarlo di da una null exception.
Fammi sapere
-----------------------------------------------------------
Solo chi ha il Caos dentro può generare una stella danzante
Wamba
http://blogs.ugidotnet.org/WamBlog/
http://www.intellimaker.com
squilibrio
Profilo
| Expert
527
messaggi | Data Invio:
gio 22 mag 2008 - 16:04
Sinceramente non ho capito :-((((
Wamba
Profilo
| Expert
722
messaggi | Data Invio:
gio 22 mag 2008 - 16:33
Dimmi che cosa non hai capito e cerco di spiegartelo meglio.
Probabilmente nel weekend (adsl/tempo/<b>fidanzata</b> permettendo) scrivo un post nel blog su questo argomento.
-----------------------------------------------------------
Solo chi ha il Caos dentro può generare una stella danzante
Wamba
http://blogs.ugidotnet.org/WamBlog/
http://www.intellimaker.com
squilibrio
Profilo
| Expert
527
messaggi | Data Invio:
ven 23 mag 2008 - 23:34
Ci sono riuscito!!! Dopo un po di prove
ovviamente grazie al tuo aiuto!!
Wamba
Profilo
| Expert
722
messaggi | Data Invio:
sab 24 mag 2008 - 09:01
L'unica cosa che mi diaspiace è che mi sono connesso ora per iniziare a scrivere il post, magarai qualche ora te la saresti risparmiata, hai mandato il post alle 23 di venerdì se era un problema di lavoro, si era trasformato in un incubo
:
Comunque sono molto contento che tu ci sia riuscito, la creazione di controlli non è un argomento semplicissimo e tantomeno lo sono gli eventi custom.
Ricordati di chiudere il thread.
-----------------------------------------------------------
Solo chi ha il Caos dentro può generare una stella danzante
Wamba
http://blogs.ugidotnet.org/WamBlog/
http://www.intellimaker.com
squilibrio
Profilo
| Expert
527
messaggi | Data Invio:
sab 24 mag 2008 - 11:33
No no, l'importante è averlo risolto (grazie a te!!!)
Wamba
Profilo
| Expert
722
messaggi | Data Invio:
sab 24 mag 2008 - 13:12
Per chiunque leggesse questo post, qui può trovare informazioni su come creare e gestire eventi in custom control
http://blogs.ugidotnet.org/WamBlog/archive/2008/05/24/custom-event-in-custom-control.aspx.
-----------------------------------------------------------
Solo chi ha il Caos dentro può generare una stella danzante
Wamba
http://blogs.ugidotnet.org/WamBlog/
http://www.intellimaker.com
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 !