来自 DB 的 asp.net 中的 Repeater with DropDownList

Repeater in asp.net from DB with DropDownList

我的中继器有问题:

1:我有一个 table 的小时数: 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>

看起来像这样:

Table

我需要通过下拉列表(在中继器之外)过滤这些中继器,以查看不同的 tables 用于不同的医疗人员(如日记),我需要更改按钮以查看转弯或转弯(如果有空闲调度器或占用调度器)。

我有两个 table 叫医生和转弯。

我需要做这样的事情,当我更换医生时我需要查看空闲和占用的调度程序:

Filter by Medic

其中绿色按钮是空闲日程,红色按钮是占用日程。

问题是:

如果医生有或没有空闲时间,我如何在每一天和每一小时内按按钮在中继器按钮中进行分析?我有一个 GetTurnsByMedic 方法;这 returns 轮到列表中的军医。

感谢大家!

我相信使用 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;
        }
    }