ASP.NET - O controle do repetidor |
Para indicar uma lista repetida dos artigos que s�o limitados ao controle, o controle do repetidor � usado.
|
Ligar uma s�rie de dados a um controle do repetidor
|
Para indicar uma lista repetida dos artigos que s�o limitados ao controle, o controle do repetidor � usado. O controle do repetidor pode ser limitado a uma lima de XML, a uma tabela da base de dados, ou a uma outra lista dos artigos. Aqui n�s mostrar-lhe-emos como ligar uma lima de XML a um controle do repetidor.
N�s usaremos a seguinte lima de XML em nossos exemplos (�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>
|
|
No in�cio, importar o namespace de �System.Data� e n�s necessitamos este namespace trabalhar com objetos da s�rie de dados. Ent�o, no alto de uma p�gina de .aspx incluir a seguinte diretriz orientadora:
|
<%@ Import Namespace="System.Data" %>
|
|
Em seguida, criar uma s�rie de dados para a lima de XML e quando a p�gina � carregada primeiramente, carregar a lima de XML na s�rie de dados:
|
<script runat="server">
sub Page_Load
if Not Page.IsPostBack then
dim mycdcatalog=New DataSet
mycdcatalog.ReadXml(MapPath("cdcatalog.xml"))
end if
end sub
|
|
Ent�o n�s criamos um controle do repetidor em uma p�gina de .aspx e os �ndices do elemento do <HeaderTemplate> s�o rendidos primeiramente e somente uma vez dentro da sa�da, a seguir os �ndices do elemento do <ItemTemplate> s�o repetidos para cada �registro� na s�rie de dados, e �ltimo, os �ndices do elemento do <FooterTemplate> s�o rendidos uma vez dentro da sa�da:
|
<html>
<body>
<form runat="server">
<asp:Repeater id="cdcatalog" runat="server">
<HeaderTemplate>
...
</HeaderTemplate>
<ItemTemplate>
...
</ItemTemplate>
<FooterTemplate>
...
</FooterTemplate>
</asp:Repeater>
</form>
</body>
</html>
|
|
Ent�o n�s adicionamos o certificado que cr�a a s�rie de dados e liga ent�o a s�rie de dados do mycdcatalog ao controle do repetidor. Com Tag do HTML, n�s tamb�m enchemos o controle do repetidor e ligamos os artigos de dados �s pilhas na se��o do the<ItemTemplate> com o m�todo de <%#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 o <AlternatingItemTemplate>
|
Ap�s o elemento do <ItemTemplate>, voc� pode adicionar um elemento do <AlternatingItemTemplate> para descrever a apar�ncia de fileiras alternas da sa�da. No exemplo abaixo de se a fileira na tabela ser� indicada em uma luz - cor cinzenta:
|
<%@ 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 o <SeparatorTemplate>
|
Para descrever um separador entre cada registro, o <SeparatorTemplate>element pode ser usado. O exemplo abaixo introduz uma linha horizontal entre cada fileira da tabela:
|
<%@ 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
|