VB.NET Repeater simples vinculação de dados Sem fonte de dados
-
06-09-2019 - |
Pergunta
Eu tenho um formulário que tem que ser um repetidor em uma página web. Eu tenho um parâmetro número que me diz quantas detalhes adicionais dos clientes estão a ser adicionado. Nesta página Eu tenho um controle de repetidora que as necessidades de repetir os itens de um determinado número de vezes. Para cada item há um conjunto de caixas de entrada que precisa de uma id anexado a ele. Todos necessidade I do ligamento é um número para cada caixa de entrada adicional ou seja <% #id %>
. Eu não sei como configurar databind simples, sem uma fonte de dados específica, mas apenas construir um em um loop.
<asp:Repeater ID="myRepeater" runat="server">
<HeaderTemplate>
<div class="AdditionalRowTitle">
<div class="AdditionalCellTitle">Title</div>
<div class="AdditionalCellFirstName">First Name</div>
<div class="AdditionalCellLastName">Last Name</div>
<div class="AdditionalCellDOB">DOB</div>
<div class="AdditionalCellRelationship">Relationship</div>
</div>
</HeaderTemplate>
<ItemTemplate>
<div class="AdditionalRow">
<div class="AdditionalInputTitle">
<asp:DropDownList ID="AdTitle" runat="server">
<asp:ListItem Selected="True" Value="" Text=""/>
<asp:ListItem Selected="False" Value="Miss" Text="Miss"/>
<asp:ListItem Selected="False" Value="Ms" Text="Ms"/>
<asp:ListItem Selected="False" Value="Mrs" Text="Mrs"/>
<asp:ListItem Selected="False" Value="Mr" Text="Mr"/>
<asp:ListItem Selected="False" Value="Other" Text="Other"/>
</asp:DropDownList>
</div>
<div class="AdditionalInputFirstName">
<asp:TextBox ID="AdFirstName" runat="server"></asp:TextBox>
</div>
<div class="AdditionalInputLastName">
<asp:TextBox ID="AdLastName" runat="server"></asp:TextBox>
</div>
<div class="AdditionalInputDOB">
<asp:DropDownList ID="AdDOBDay" runat="server">
<asp:ListItem Selected="True" Value="" Text=""/>
<asp:ListItem Selected="False" Value="1" Text="1"/>
<asp:ListItem Selected="False" Value="2" Text="2"/>
<asp:ListItem Selected="False" Value="3" Text="3"/>
<asp:ListItem Selected="False" Value="4" Text="4"/>
<asp:ListItem Selected="False" Value="5" Text="5"/>
<asp:ListItem Selected="False" Value="6" Text="6"/>
<asp:ListItem Selected="False" Value="7" Text="7"/>
<asp:ListItem Selected="False" Value="8" Text="8"/>
<asp:ListItem Selected="False" Value="9" Text="9"/>
<asp:ListItem Selected="False" Value="10" Text="10"/>
<asp:ListItem Selected="False" Value="11" Text="11"/>
<asp:ListItem Selected="False" Value="12" Text="12"/>
<asp:ListItem Selected="False" Value="13" Text="13"/>
<asp:ListItem Selected="False" Value="14" Text="14"/>
<asp:ListItem Selected="False" Value="15" Text="15"/>
<asp:ListItem Selected="False" Value="16" Text="16"/>
<asp:ListItem Selected="False" Value="17" Text="17"/>
<asp:ListItem Selected="False" Value="18" Text="18"/>
<asp:ListItem Selected="False" Value="19" Text="19"/>
<asp:ListItem Selected="False" Value="20" Text="20"/>
<asp:ListItem Selected="False" Value="21" Text="21"/>
<asp:ListItem Selected="False" Value="22" Text="22"/>
<asp:ListItem Selected="False" Value="23" Text="23"/>
<asp:ListItem Selected="False" Value="24" Text="24"/>
<asp:ListItem Selected="False" Value="25" Text="25"/>
<asp:ListItem Selected="False" Value="26" Text="26"/>
<asp:ListItem Selected="False" Value="27" Text="27"/>
<asp:ListItem Selected="False" Value="28" Text="28"/>
<asp:ListItem Selected="False" Value="29" Text="29"/>
<asp:ListItem Selected="False" Value="30" Text="30"/>
<asp:ListItem Selected="False" Value="31" Text="31"/>
</asp:DropDownList>
<asp:DropDownList ID="AdDOBMonth" runat="server">
<asp:ListItem Selected="True" Value="" Text=""/>
<asp:ListItem Selected="False" Value="1" Text="January"/>
<asp:ListItem Selected="False" Value="2" Text="Febuary"/>
<asp:ListItem Selected="False" Value="3" Text="March"/>
<asp:ListItem Selected="False" Value="4" Text="April"/>
<asp:ListItem Selected="False" Value="5" Text="May"/>
<asp:ListItem Selected="False" Value="6" Text="June"/>
<asp:ListItem Selected="False" Value="7" Text="July"/>
<asp:ListItem Selected="False" Value="8" Text="August"/>
<asp:ListItem Selected="False" Value="9" Text="September"/>
<asp:ListItem Selected="False" Value="10" Text="October"/>
<asp:ListItem Selected="False" Value="11" Text="November"/>
<asp:ListItem Selected="False" Value="12" Text="December"/>
</asp:DropDownList>
<asp:DropDownList ID="AdDOBYear" runat="server">
</asp:DropDownList>
<ajaxToolkit:CascadingDropDown ID="CascadingDropDown2"
Category="AdDOBYear"
LoadingText=""
ServicePath="TravelWebService.asmx"
ServiceMethod="GetYears"
PromptText=""
TargetControlID="AdDOBYear"
runat="server">
</ajaxToolkit:CascadingDropDown>
</div>
<div class="AdditionalInputRelationship">
<asp:DropDownList ID="AdRelationship" runat="server">
<asp:ListItem Selected="True" Value="" Text=""/>
<asp:ListItem Selected="False" Value="Partner" Text="Partner"/>
<asp:ListItem Selected="False" Value="Child" Text="Child"/>
<asp:ListItem Selected="False" Value="Unrelated" Text="Unrelated"/>
</asp:DropDownList>
</div>
</div>
</ItemTemplate>
</asp:Repeater>
Solução
Aqui está uma maneira de repetir os itens. Em seu evento de carregamento da página, adicione o seguinte:
Dim repeatTimes() As Integer = New Integer(){1, 2, 3}
myRepeater.DataSource = repeatTimes
myRepeater.DataBind()
Os itens repetidor será repetida pelo número de elementos na matriz. Neste caso, existem 3 elementos. O conteúdo real do array não importa, apenas o número de elementos.
EDIT: Não sei VB.NET muito bem, mas acho que isso deve funcionar
Sub Page_Load()
Dim NumberToRepeat As Integer ''*Should come from the parameter
If Not Page.IsPostBack Then
Dim repeatTimes(NumberToRepeat) As Integer
myRepeater.DataSource = repeatTimes
myRepeater.DataBind()
End If
End Sub