Повторитель в 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;
        }
    }
Другие вопросы по тегам