Мой выпадающий список не показывает мой жестко закодированный список

У меня есть четыре выпадающих списка, все в зависимости от предыдущего, использующих ControlParameters и AutoPostBack="true", все они отлично работают - кроме последнего. По какой-то причине в четвертом разделе не отображается мой жестко закодированный элемент "--All--", и мне это нужно, чтобы пользователи имели возможность просматривать все записи или ограничивать записи на основе выбранных значений. Любой совет высоко ценится!

1 (которые всегда показывают все различные значения, плюс опция "--All--"):

 <!-- Division (gt_division) -->
 <asp:DropDownList runat="server" ID="DDLDivision" DataSourceID="DSDivision" DataValueField="gt_division" DataTextField="gt_division" AppendDataBoundItems="true" AutoPostBack="true">
                 <asp:ListItem Text="--All--" Value="" />
            </asp:DropDownList>
            <asp:SqlDataSource ID="DSDivision" ConnectionString="<%$ ConnectionStrings:CDRConnectionString %>" runat="server" SelectCommand="select distinct gt_division from chg_dtl">
            </asp:SqlDataSource>

2 (работает нормально, в раскрывающемся списке отображается '--All--', а также различные значения, основанные на выборе в первом раскрывающемся меню (controlparameter gt_division):

 <!-- Program (bill_area) -->
 <asp:DropDownList runat="server" ID="DDLProgram" DataSourceID="DSProgram" DataValueField="bill_area" DataTextField="bill_area" AppendDataBoundItems="true" AutoPostBack="true">
                <asp:ListItem Text="--All--" Value="" />
            </asp:DropDownList>
            <asp:SqlDataSource ID="DSProgram" ConnectionString="<%$ ConnectionStrings:CDRConnectionString %>" runat="server" SelectCommand="SELECT distinct bill_area FROM chg_dtl WHERE gt_division = @gt_division">
                <SelectParameters>
                    <asp:ControlParameter Name="gt_division" ControlID="DDLDivision" PropertyName="SelectedValue"/>
                </SelectParameters>
            </asp:SqlDataSource>

3 (также работает нормально, показывает "--All--" плюс значения, основанные на первых двух выпадающих списках):

<!-- Location (pos_name) -->
<asp:DropDownList runat="server" ID="DDLLocation" DataSourceID="DSLocation" DataValueField="pos_name" DataTextField="pos_name" AppendDataBoundItems="true" AutoPostBack="true">
                <asp:ListItem Text="--All--" Value="" />
            </asp:DropDownList>
            <asp:SqlDataSource ID="DSLocation" ConnectionString="<%$ ConnectionStrings:CDRConnectionString %>" runat="server" SelectCommand="SELECT distinct pos_name FROM chg_dtl WHERE gt_division = @gt_division and bill_area = @bill_area"
                >
                <SelectParameters>
                    <asp:ControlParameter Name="gt_division" ControlID="DDLDivision" PropertyName="SelectedValue" />
                    <asp:ControlParameter Name="bill_area" ControlID="DDLProgram" PropertyName="SelectedValue" />
                </SelectParameters>
            </asp:SqlDataSource>

4 (который показывает правильные отдельные значения (на основе предыдущих трех выпадающих меню), но не показывает параметр "--All--" при обратной передаче предыдущего выпадающего списка. Поэтому я выбираю программу, и этот выпадающий список заполняется правильными различными значениями, но "--All--" отсутствует. Мне нужна эта опция, чтобы дать пользователям возможность просматривать все, а не только результаты из одного выпадающего списка. Я мог бы что-то сделать в коде позади, но предпочел бы оставить все выпадающие одинаковые.)

 <!-- Physician (BILLING_NAME) -->
 <asp:DropDownList runat="server" ID="DDLPhysician" DataSourceID="DSPhysician" DataValueField="billing_prov_name" DataTextField="billing_name" AppendDataBoundItem="true" AutoPostBack="true">
                <asp:ListItem Text="All" Value="" />
            </asp:DropDownList>
            <asp:SqlDataSource ID="DSPhysician" ConnectionString="<%$ ConnectionStrings:CDRConnectionString %>" runat="server"
                SelectCommand="SELECT distinct billing_name 
                               FROM chg_dtl 
                               WHERE gt_division = @gt_division AND bill_area = @bill_area AND pos_name = @pos_name"
                >
                <SelectParameters>
                    <asp:ControlParameter Name="gt_division" ControlID="DDLDivision" PropertyName="SelectedValue" />
                    <asp:ControlParameter Name="bill_area" ControlID="DDLProgram" PropertyName="SelectedValue" />
                    <asp:ControlParameter Name="pos_name" ControlID="DDLLocation" PropertyName="SelectedValue" />
                </SelectParameters>
            </asp:SqlDataSource>

1 ответ

Решение

У вас есть 'AppendDataBoundItem' в 4-м раскрывающемся списке вместо 'AppendDataBoundItems'

Другие вопросы по тегам