呈现和分组数据ASP.NET / SQL

时间:2013-03-22 11:22:26

标签: asp.net sql vb.net sql-server-2008

我将尝试对此采取不同的看法,因为我的最后一次尝试并不清楚:

我运行了一个SQL查询并产生了以下结果:

enter image description here

我现在想构建一个向用户显示这些结果的ASP.NET页面

我正在尝试放置一个列表视图来向用户显示,并在其中显示一个gridview来显示用户拥有的项目。

到目前为止,我的代码看起来像这样:

 <asp:ListView ID="lvPersonItems" runat="server"  DataSourceID="sdsResults"  GroupItemCount="3"  EnableViewState="true" GroupPlaceholderID="groupPlaceHolder" ItemPlaceholderID="itemPlaceHolder">

 <LayoutTemplate>
 <table>
 <tr>
 <td>
 <table cellpadding="15">
 <asp:PlaceHolder ID="groupPlaceHolder" runat="server" />
 </table>
 </td>
 </tr>
 </table>
 </LayoutTemplate>

 <GroupTemplate>
    <tr>
    <asp:PlaceHolder ID="itemPlaceHolder" runat="server" />
    </tr>
 </GroupTemplate>

 <ItemTemplate >
 <td>
 <h3><%# Eval("Forename")%> <%# Eval("Surname")%></h3>

 <asp:GridView BorderStyle="None" ID="gvItems" AutoGenerateColumns="false" runat="server" DataSource='<%# Eval("Description") %>'>

 <Columns>
 <asp:BoundField DataField="Description" HeaderText="Description" />
 </Columns>

 </asp:GridView>

 <EmptyDataTemplate>
 <div style="background-color:Gray">No orders exists!</div>
 </EmptyDataTemplate>

 </td>
  </ItemTemplate>
 </asp:ListView>

  <asp:SqlDataSource ID="sdsResults" runat="server" 
          ConnectionString="<%$ ConnectionStrings:conString %>" 
          SelectCommand="sp_Test_Proc" SelectCommandType="StoredProcedure">
        </asp:SqlDataSource>

然而,在运行此操作时,我收到以下错误:

A field or property with the name 'Description' was not found on the selected data source.

有人可以对此有所了解吗? :)

更新

根据伊卡洛斯的建议,我现在有以下内容:

enter image description here

但是,它包含多个数据,我似乎无法将其浓缩为2个用户,1个包含2个项目,另一个包含1个项目。

1 个答案:

答案 0 :(得分:1)

你的问题在这里:

 <asp:GridView BorderStyle="None" ID="gvItems" 
  AutoGenerateColumns="false" runat="server" 
  DataSource='<%# Eval("Description") %>'> 

请注意,您正尝试将属性Description作为DataSource绑定到GridView。

数据源应该是您已经进一步定义的SQL数据源;因此将其更改为:

 <asp:GridView BorderStyle="None" ID="gvItems" 
 AutoGenerateColumns="false" runat="server" DataSource="sdsResults">