2017-02-22 7 views
0

私は2つのDropDownListsを含むGridViewを持っています。 DataRecordの場合、DropDownListsは完全に埋め尽くされていますが、フッターの場合は空のままです。 DataRecordとFooterの両方で、DropDownListsはそれぞれ同じSqlDataSourceを持ちます。フッターのドロップダウンリストが塗りつぶされていない理由は何ですか?フッター内のDropDownListが塗りつぶされていない

   <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

あなたはgridviewの完全なマークアップを共有できますか? –

+0

オリジナルの投稿を更新しました –

答えて

0

FooterTemplateのは、このように、それはテンプレートを使用して結合することができない、GridViewのデータソースの各行でレンダリングされていません。私はコードで手動で行うべきだと思います。あなたはこのリンクをチェックすることができますDropDownList control inside the GridView FooterTemplate

+0

「FooterTemplateは各行でレンダリングされません」という意味は理解できません –

+0

申し訳ありませんが、入力ミスがあります。私は私の答えを編集しました。確認してください。 –

+0

問題が見つかりました。 DataRowとFooterRowの両方に同じIDを持つ別のTemplateFieldがありました。 –

関連する問題