2012-01-17 15 views
1

私はaspデータリスト内にaspグリッドビューを配置しようとしています。データリスト内の各アイテムについて、別のデータベーステーブルの特定の値を返すことを希望します。Datalist ASP.NET内のGridview

私は次のコードを書いていますが、gridviewはデータを返しません(データベースにレコードがあり、ストアドプロシージャが正しいことを確認できます)。 aspデータリストは正常に動作しています。

グリッドビューにデータを入力していないのは間違っていますか?

<asp:DataList runat="server" id="listResponses" DataKeyField="QuestionID" CssClass="confirm" OnItemDataBound="listResponses_ItemDataBound"> 
    <ItemTemplate> 
    <h3 class="confirm new">Question <asp:Label ID="lblaOrder" runat="server" Text='<%# Container.ItemIndex + 1 %>'></asp:Label></h3> 
    <div class="confirm_question"> 
     <asp:Label ID="lblOrder" runat="server" Text='<%# Container.ItemIndex + 1 %>'></asp:Label> 
     <p class="confirm"><%# DataBinder.Eval(Container.DataItem, "QuestionText") %></p> 
    </div> <!-- end confirm_question --> 
    <asp:GridView runat="server" ID="gridResponses" DataKeyNames="QuestionID""> 
     <Columns> 
      <asp:BoundField DataField="AnswerTitle" HeaderText="ID" HeaderStyle-Width="80px" ItemStyle-CssClass="bo"></asp:BoundField> 
      <asp:BoundField DataField="Responses" HeaderText="Response Count" HeaderStyle-Width="150px" /> 
     </Columns> 
     </asp:GridView> 
    </ItemTemplate> 
</asp:DataList> 

ここにコードがあります。

答えて

3

GridView用に空のDataTableをDataSourceとして作成しました。

この

DataTable dt = GetData.GetAnswerTitle(questionId); 
GridView.DataSource = dt; 

DataTable dt = new DataTable(); 
GetData.GetAnswerTitle(questionId); 
GridView.DataSource = dt; 

を交換してください