2017-02-22 38 views
0

У меня есть GridView, который содержит два DropDownLists. Для DataRecord DropDownLists заполнены/связаны отлично, но для нижнего колонтитула они остаются пустыми/несвязанными. Как в DataRecord, так и в Footer, DropDownLists имеют соответственно один и тот же SqlDataSource. Что может быть причиной того, что DropDownLists в Footers не заполняются/связаны?DropDownList в Footer не заполняется/связан

   <asp:GridView 
        ID="ExecutionGridView" 
        runat="server" 
        AutoGenerateColumns="False" 
        DataKeyNames="ID" 
        Font-Names="Calibri" 
        Font-Size="Small" 
        OnRowCommand="ExecutionGridView_RowCommand" 
        OnRowDataBound="ExecutionGridView_RowDataBound" 
        OnRowDeleting="ExecutionGridView_RowDeleting" 
        OnRowUpdating="ExecutionGridView_RowUpdating" 
        HorizontalAlign="Left"   
        ShowFooter="true"    
        Visible="False"> 
        <FooterStyle Font-Names="Calibri" Font-Size="Small" /> 
        <HeaderStyle Font-Names="Calibri" Font-Size="Small" HorizontalAlign="Left" CssClass="headerClass" ForeColor="#408080" BackColor="White" BorderColor="#408080" /> 
        <Columns>        
         <asp:TemplateField HeaderText="ID" ItemStyle-Width="30"> 
          <ItemTemplate> 
           <%# Eval("ID") %> 
           <input type="hidden" name="ExecutionId" value='<%# Eval("ID") %>' /> 
          </ItemTemplate> 
          <ItemStyle Width="30px" /> 
         </asp:TemplateField> 
         <asp:TemplateField HeaderText="Theme" SortExpression="ThemeID"> 
          <ItemTemplate> 
           <asp:DropDownList ID="ThemesIDDropDownList" runat="server" DataSourceID="ThemesSqlDataSource" DataTextField="Theme" DataValueField="ID" CssClass="ddl" SelectedValue='<%# Bind("ThemeID", "{0:D}") %>' AutoPostBack="True"></asp:DropDownList> 
          </ItemTemplate> 
          <FooterTemplate> 
           <asp:DropDownList ID="ThemesIDDropDownList1" runat="server" DataSourceID="ThemesSqlDataSource" DataTextField="Theme" DataValueField="ID" CssClass="ddl" ></asp:DropDownList> 
          </FooterTemplate> 
         </asp:TemplateField> 
         <asp:TemplateField HeaderText="Env" SortExpression="EnvironmentID"> 
          <ItemTemplate> 
           <asp:DropDownList ID="EnvironmentsIDDropDownList" runat="server" DataSourceID="EnvironmentsSqlDataSource" DataTextField="Environment" DataValueField="ID" CssClass="ddl" SelectedValue='<%# Bind("EnvironmentID", "{0:D}") %>' AutoPostBack="True"></asp:DropDownList> 
          </ItemTemplate> 
          <FooterTemplate> 
           <asp:DropDownList ID="EnvironmentsIDDropDownList1" runat="server" DataSourceID="EnvironmentsSqlDataSource" DataTextField="Environment" DataValueField="ID" CssClass="ddl"></asp:DropDownList> 
          </FooterTemplate> 
        </asp:TemplateField> 
        </Columns> 
       </asp:GridView> 
+0

можете ли вы поделиться полной маркировкой сетки? –

+0

Обновлено оригинальное сообщение –

ответ

0

The FooterTemplate не отображается с каждой строкой GridView источника данных, таким образом, он не может связываться с помощью шаблона. Я думаю, вы должны сделать это вручную по коду. Вы можете проверить эту ссылку DropDownList control inside the GridView FooterTemplate

+0

Я не понимаю, что вы подразумеваете под «FooterTemplate не отображается с каждой строкой» –

+0

Извините, я допустил ошибку ввода. Я отредактировал мой ответ, пожалуйста, проверьте –

+0

. Я нашел проблему. Был еще один TemplateField, у которого был одинаковый идентификатор для DataRow и FooterRow. –