ASP.NET - Il controllo del ripetitore |
Per visualizzare una lista ripetuta degli articoli che sono limitati al controllo, il controllo del ripetitore � usato.
|
Legare un gruppo di dati ad un controllo del ripetitore
|
Per visualizzare una lista ripetuta degli articoli che sono limitati al controllo, il controllo del ripetitore � usato. Il controllo del ripetitore pu� essere limitato ad una lima di XML, ad una tabella della base di dati, o ad un'altra lista degli articoli. Qui gli mostreremo come legare una lima di XML ad un controllo del ripetitore.
Useremo la seguente lima di XML nei nostri esempi (�cdcatalog.xml�):
|
<?xml version="1.0" encoding="ISO-8859-1"?>
<catalog>
<cd>
<title>Empire Burlesque</title>
<artist>Bob Dylan</artist>
<country>USA</country>
<company>Columbia</company>
<price>10.90</price>
<year>1985</year>
</cd>
<cd>
<title>Hide your heart</title>
<artist>Bonnie Tyler</artist>
<country>UK</country>
<company>CBS Records</company>
<price>9.90</price>
<year>1988</year>
</cd>
<cd>
<title>Greatest Hits</title>
<artist>Dolly Parton</artist>
<country>USA</country>
<company>RCA</company>
<price>9.90</price>
<year>1982</year>
</cd>
<cd>
<title>Still got the blues</title>
<artist>Gary Moore</artist>
<country>UK</country>
<company>Virgin records</company>
<price>10.20</price>
<year>1990</year>
</cd>
<cd>
<title>Eros</title>
<artist>Eros Ramazzotti</artist>
<country>EU</country>
<company>BMG</company>
<price>9.90</price>
<year>1997</year>
</cd>
</catalog>
|
|
Inizialmente, importare il namespace �di System.Data� ed abbiamo bisogno di questo namespace di funzionare con gli oggetti di gruppo di dati. Allora, alla parte superiore di una pagina di .aspx includere il seguente indirizzamento:
|
<%@ Import Namespace="System.Data" %>
|
|
Dopo, generare un gruppo di dati per la lima di XML e quando la pagina in primo luogo � caricata, caricare la lima di XML nel gruppo di dati:
|
<script runat="server">
sub Page_Load
if Not Page.IsPostBack then
dim mycdcatalog=New DataSet
mycdcatalog.ReadXml(MapPath("cdcatalog.xml"))
end if
end sub
|
|
Allora generiamo un controllo del ripetitore in una pagina di .aspx ed il contenuto dell'elemento del <HeaderTemplate> � reso in primo luogo e soltanto una volta all'interno dell'uscita, quindi il contenuto dell'elemento del <ItemTemplate> � ripetuto per ogni �annotazione� nel gruppo di dati ed ultimo, il contenuto dell'elemento del <FooterTemplate> � reso una volta all'interno dell'uscita:
|
<html>
<body>
<form runat="server">
<asp:Repeater id="cdcatalog" runat="server">
<HeaderTemplate>
...
</HeaderTemplate>
<ItemTemplate>
...
</ItemTemplate>
<FooterTemplate>
...
</FooterTemplate>
</asp:Repeater>
</form>
</body>
</html>
|
|
Allora aggiungiamo lo scritto che genera il gruppo di dati ed allora lega il gruppo di dati del mycdcatalog al controllo del ripetitore. Con le modifiche del HTML, inoltre riempiamo il controllo del ripetitore e leghiamo gli elementi dei dati alle cellule nella sezione del the<ItemTemplate> con il metodo di <%#Container.DataItem (�fieldname�) %>:
|
<%@ Import Namespace="System.Data" %>
<script runat="server">
sub Page_Load
if Not Page.IsPostBack then
dim mycdcatalog=New DataSet
mycdcatalog.ReadXml(MapPath("cdcatalog.xml"))
cdcatalog.DataSource=mycdcatalog
cdcatalog.DataBind()
end if
end sub
</script>
<html>
<body>
<form runat="server">
<asp:Repeater id="cdcatalog" runat="server">
<HeaderTemplate>
<table border="1" width="100%">
<tr>
<th>Title</th>
<th>Artist</th>
<th>Country</th>
<th>Company</th>
<th>Price</th>
<th>Year</th>
</tr>
</HeaderTemplate>
<ItemTemplate>
<tr>
<td><%#Container.DataItem("title")%></td>
<td><%#Container.DataItem("artist")%></td>
<td><%#Container.DataItem("country")%></td>
<td><%#Container.DataItem("company")%></td>
<td><%#Container.DataItem("price")%></td>
<td><%#Container.DataItem("year")%></td>
</tr>
</ItemTemplate>
<FooterTemplate>
</table>
</FooterTemplate>
</asp:Repeater>
</form>
</body>
</html>
|
|
Usando il <AlternatingItemTemplate>
|
Dopo l'elemento del <ItemTemplate>, potete aggiungere un elemento del <AlternatingItemTemplate> per descrivere l'apparenza delle file alternate di uscita. Nell'esempio sotto a vicenda la fila nella tabella sar� visualizzata in un colore grigio chiaro:
|
<%@ Import Namespace="System.Data" %>
<script runat="server">
sub Page_Load
if Not Page.IsPostBack then
dim mycdcatalog=New DataSet
mycdcatalog.ReadXml(MapPath("cdcatalog.xml"))
cdcatalog.DataSource=mycdcatalog
cdcatalog.DataBind()
end if
end sub
</script>
<html>
<body>
<form runat="server">
<asp:Repeater id="cdcatalog" runat="server">
<HeaderTemplate>
<table border="1" width="100%">
<tr>
<th>Title</th>
<th>Artist</th>
<th>Country</th>
<th>Company</th>
<th>Price</th>
<th>Year</th>
</tr>
</HeaderTemplate>
<ItemTemplate>
<tr>
<td><%#Container.DataItem("title")%></td>
<td><%#Container.DataItem("artist")%></td>
<td><%#Container.DataItem("country")%></td>
<td><%#Container.DataItem("company")%></td>
<td><%#Container.DataItem("price")%></td>
<td><%#Container.DataItem("year")%></td>
</tr>
</ItemTemplate>
<AlternatingItemTemplate>
<tr bgcolor="#e8e8e8">
<td><%#Container.DataItem("title")%></td>
<td><%#Container.DataItem("artist")%></td>
<td><%#Container.DataItem("country")%></td>
<td><%#Container.DataItem("company")%></td>
<td><%#Container.DataItem("price")%></td>
<td><%#Container.DataItem("year")%></td>
</tr>
</AlternatingItemTemplate>
<FooterTemplate>
</table>
</FooterTemplate>
</asp:Repeater>
</form>
</body>
</html>
|
|
Usando il <SeparatorTemplate>
|
Per descrivere un separatore fra ogni annotazione, il <SeparatorTemplate>element pu� essere usato. L'esempio sotto inserisce una linea orizzontale fra ogni fila della tabella:
|
<%@ Import Namespace="System.Data" %>
<script runat="server">
sub Page_Load
if Not Page.IsPostBack then
dim mycdcatalog=New DataSet
mycdcatalog.ReadXml(MapPath("cdcatalog.xml"))
cdcatalog.DataSource=mycdcatalog
cdcatalog.DataBind()
end if
end sub
</script>
<html>
<body>
<form runat="server">
<asp:Repeater id="cdcatalog" runat="server">
<HeaderTemplate>
<table border="0" width="100%">
<tr>
<th>Title</th>
<th>Artist</th>
<th>Country</th>
<th>Company</th>
<th>Price</th>
<th>Year</th>
</tr>
</HeaderTemplate>
<ItemTemplate>
<tr>
<td><%#Container.DataItem("title")%></td>
<td><%#Container.DataItem("artist")%></td>
<td><%#Container.DataItem("country")%></td>
<td><%#Container.DataItem("company")%></td>
<td><%#Container.DataItem("price")%></td>
<td><%#Container.DataItem("year")%></td>
</tr>
</ItemTemplate>
<SeparatorTemplate>
<tr>
<td colspan="6"><hr /></td>
</tr>
</SeparatorTemplate>
<FooterTemplate>
</table>
</FooterTemplate>
</asp:Repeater>
</form>
</body>
</html>
|
|
|
|
Keywords:
ASP.NET using the Repeater Control,
asp net repeater,
vb net repeater,
asp net control,
asp net using,
vb net control,
visual basic using,
visual basic control,
datagrid repeater,
repeater database,
repeater c#,
repeater dropdownlist,
repeater edit,
wireless repeater,
c# using,
repeater hyperlink,
repeater paging,
javascript repeater,
repeater viewstate,
datagrid control,
custom repeater,
repeater checkbox,
repeater databind,
repeater datalist,
data repeater,
dataset repeater,
dynamic repeater,
datalist control,
repeater textbox,
control data,
repeater button,
listbox control,
c# control,
checkbox control,
using msdn,
event control,
repeater vb,
textbox control
|