Повторитель в asp.net из БД с DropDownList
У меня проблема с повторителем:
1: у меня есть таблица с часами: 7:00, 7:15, 7:30, ..., и я использую ретранслятор, чтобы прочитать все из них и поставить дни и кнопки, вот код:
<asp:Repeater ID="rptTable" runat="server" OnItemCommand="rptTable_ItemCommand">
<HeaderTemplate>
<table class="table table-hover">
<thead>
<tr>
<th>Horario</th>
<th>Lunes</th>
<th>Martes</th>
<th>Miércoles</th>
<th>Jueves</th>
<th>Viernes</th>
</tr>
</thead>
</HeaderTemplate>
<ItemTemplate>
<tbody>
<tr>
<td><%# Eval("HorarioP") %></td>
<td>
<asp:LinkButton CssClass="btn btn-success" ID="btnlunes" runat="server" CommandName="turnolunes" CommandArgument='<%# Eval("HorarioP") %>'>Dar Turno</asp:LinkButton>
</td>
<td>
<asp:LinkButton CssClass="btn btn-success" ID="btnmartes" runat="server" CommandName="turnomartes" CommandArgument='<%# Eval("HorarioP") %>'>Dar Turno</asp:LinkButton>
</td>
<td>
<asp:LinkButton CssClass="btn btn-success" ID="btnmiercoles" runat="server" CommandName="turnomiercoles" CommandArgument='<%# Eval("HorarioP") %>'>Dar Turno</asp:LinkButton>
</td>
<td>
<asp:LinkButton CssClass="btn btn-success" ID="btnjueves" runat="server" CommandName="turnojueves" CommandArgument='<%# Eval("HorarioP") %>'>Dar Turno</asp:LinkButton>
</td>
<td>
<asp:LinkButton CssClass="btn btn-success" ID="btnviernes" runat="server" CommandName="turnoviernes" CommandArgument='<%# Eval("HorarioP") %>'>Dar Turno</asp:LinkButton>
</td>
</tr>
</tbody>
</ItemTemplate>
<FooterTemplate>
</table>
</FooterTemplate>
</asp:Repeater>
Это выглядит так:
Мне нужно отфильтровать эти повторители по выпадающему списку (вне повторителя), чтобы увидеть разные таблицы для разных медиков (например, дневник), и мне нужно изменить кнопку, чтобы просмотреть ход или дать ход (если у вас есть свободный планировщик или занятый планировщик).
У меня есть два стола, называемые медиками и ходами.
Мне нужно сделать что-то вроде этого, когда я меняю медика, мне нужно увидеть свободные и занятые планировщики:
Где зеленые кнопки - это свободный график, а красные кнопки - это занятый график.
Вопрос в том:
¿Как я могу анализировать в ретрансляторе кнопку за кнопкой каждый день и час, если у медика есть или нет свободного графика? У меня есть метод GetTurnsByMedic; это возвращает все ходы для медика в Списке.
Спасибо всем!
1 ответ
Я считаю, что использование метода ItemDataBound может дать вам решение.
<asp:Repeater ID="rptTable" runat="server"
OnItemDataBound="rptTable_ItemDataBound">
protected void rptTable_ItemDataBound(object sender, RepeaterItemEventArgs e)
{
if (e.Item.ItemType.Equals(ListItemType.AlternatingItem) || e.Item.ItemType.Equals(ListItemType.Item))
{
//Call your method and do whatever you need to do here
//You can hide/show disable/enable your buttons
Button button = e.Item.FindControl("buttonID") as Button;
}
}