2016-05-26 4 views
1

У меня есть три списка выпадающих списков, которые заполняются «отдельными» запросами и отлично работают на первый взгляд. Ddl1 имеет только один элемент из базы данных, а затем ddl2 имеет только один элемент, который идет с тем, что было выбрано в ddl1, до тех пор, пока вы не измените ddl1, а затем добавьте то, что было в ddl2, от первого выбора до второго выбора.DropDownListboxes - почему эти данные добавляются?

просто дать дальнейшее объяснение того, что происходит:

если первый из них имеет A, B, C и вы выбираете А, второй один с шоу D, E и F. Затем, если вы решите вернитесь назад и измените первый на B, второй имеет G, H, I, и он все еще имеет D, E, F, когда он должен иметь только G, H и I

Что я делаю неправильно?

Вот мои источники данных:

 <asp:SqlDataSource ID="LEDataSource" runat="server" ConnectionString="<%$ ConnectionStrings:AXMAPConnectionString %>" SelectCommand="SELECT DISTINCT [LegalEntity] FROM [AXMAP].[Customers]"></asp:SqlDataSource> 
    <asp:SqlDataSource ID="OSEDataSource" runat="server" ConnectionString="<%$ ConnectionStrings:AXMAPConnectionString %>" SelectCommand="SELECT DISTINCT [OldSourceEnvironment] FROM [AXMAP].[Customers] WHERE LegalEntity = @LegalEntity"> 
     <SelectParameters> 
      <asp:ControlParameter ControlID="ddlLegalEntity" PropertyName="SelectedValue" Type="String" Name="LegalEntity" DefaultValue="-- Please Select --" /> 
     </SelectParameters> 
    </asp:SqlDataSource> 
       <asp:SqlDataSource ID="OCCDataSource" runat="server" ConnectionString="<%$ ConnectionStrings:AXMAPConnectionString %>" SelectCommand="SELECT DISTINCT [OldCompanyCode] FROM [AXMAP].[Customers] WHERE LegalEntity = @LegalEntity AND OldSourceEnvironment = @OldSourceEnvironment"> 
        <SelectParameters> 
         <asp:ControlParameter ControlID="ddlLegalEntity" PropertyName="SelectedValue" Type="String" Name="LegalEntity" DefaultValue="-- Please Select --" /> 
         <asp:ControlParameter ControlID="ddlOldSourceEnvironment" PropertyName="SelectedValue" Type="String" Name="OldSourceEnvironment" DefaultValue="-- Please Select --" /> 
        </SelectParameters> 
    </asp:SqlDataSource> 

И вот мои DropDownLists:

   <td class="auto-style6"> 
       <asp:DropDownList ID="ddlLegalEntity" runat="server" AutoPostBack="True" DataSourceID="LEDataSource" DataTextField="LegalEntity" DataValueField="LegalEntity" Width="135px" AppendDataBoundItems="True"> 
       <asp:ListItem Selected="True" Value="0" Text="-- Please Select --"></asp:ListItem> 
       </asp:DropDownList> 
      </td> 
     </tr> 
     <tr> 
      <td class="auto-style6"> 
       <asp:DropDownList ID="ddlOldSourceEnvironment" runat="server" AutoPostBack="true" DataSourceID="OSEDataSource" DataTextField="OldSourceEnvironment" DataValueField="OldSourceEnvironment" AppendDataBoundItems="true" Width="135px"> 
       <asp:ListItem Selected="True" Value="0" Text="-- Please Select --"></asp:ListItem>      
       </asp:DropDownList> 
      </td> 
      <td>&nbsp;</td> 
     </tr> 
     <tr> 
      <td class="auto-style6"> 
       <asp:DropDownList ID="ddlOldCompanyCode" runat="server" AutoPostBack="true" DataSourceID="OCCDataSource" DataTextField="OldCompanyCode" DataValueField="OldCompanyCode" AppendDataBoundItems="true" Width="135px"> 
       <asp:ListItem Selected="True" Value="0" Text="-- Please Select --"></asp:ListItem> 
       </asp:DropDownList> 

ответ

0

Вы установили

AppendDataBoundItems="true" 
+0

Как установить значение по умолчанию перед записью данных связывает без что тогда? Он не добавляет Listitem, когда я принимаю это. – Psymbionic

+0

http://stackoverflow.com/questions/730555/dropdownlist-appenddatabounditems-first-item-to-be-blank-and-no-duplicates –

+0

Большое вам спасибо! – Psymbionic

Смежные вопросы