我有一个foreach
循环,它从集合中创建一个名为 Time 的新对象TimeEntriesCollection
。在循环之后,对象将被添加到被ArrayList
调用的entryList
.
这ArrayList
是通过一个方法传递给DataGrid
以显示结果,它为不同的用户显示单独的表,这也意味着单独的标题。如何在没有重复标题的情况下在一个表中显示所有对象?
下面显示了 aspx 页面的代码。
<asp:DataList ID="UserDetails" runat="server" Width="100%" OnSelectedIndexChanged="UserDetails_SelectedIndexChanged">
<ItemTemplate>
<asp:DataGrid ID="TimeEntryGrid" DataSource='<%# ListTimeEntry(TTSecurity.GetUserID(), _userIDs, _startDate, _endDate) %>'runat="server" BorderStyle="None" Width="100%" CellPadding="4" AutoGenerateColumns="False"Font-Name="Verdana" AllowSorting="True" BorderColor="White" OnSortCommand="TimeEntryGrid_Sort">
<HeaderStyle Font-Bold="True" CssClass="report-header"></HeaderStyle>
<ItemStyle CssClass="report-text" />
<Columns>
<asp:BoundColumn DataField="UserName" HeaderText="Resource" SortExpression="UserName"ItemStyle-Wrap="false" />
<asp:BoundColumn DataField="EntryDate" HeaderText="Date" SortExpression="EntryDate"DataFormatString="{0:yyyy-MM-dd}" ItemStyle-Wrap="false" />
<asp:BoundColumn DataField="ProjectName" HeaderText="Project" SortExpression="ProjectName"ItemStyle-Wrap="false" />
<asp:BoundColumn DataField="CategoryShortName" HeaderText="Category" SortExpression="CategoryName"ItemStyle-Wrap="false" />
<asp:BoundColumn DataField="CompanyName" HeaderText="Company" SortExpression="CompanyName"ItemStyle-Wrap="false" />
<asp:BoundColumn DataField="Duration" HeaderText="Hrs" SortExpression="Duration"DataFormatString="{0:n1}" ItemStyle-HorizontalAlign="Right" HeaderStyle-HorizontalAlign="Right" />
<asp:BoundColumn DataField="Cost" HeaderText="Charges($)" SortExpression="Cost" DataFormatString="{0:n2}"ItemStyle-HorizontalAlign="Right" HeaderStyle-HorizontalAlign="Right" />
<asp:BoundColumn DataField="Description" HeaderText="Description" SortExpression="Description" />
</Columns>
</asp:DataGrid>
</ItemTemplate>
</asp:DataList>
编辑:
DataList
用于获取 的第二个DataSource
参数DataGrid
。原始参数是(int)DataBinder.Eval(Container.DataItem, "UserID")
,我认为这意味着只有 1 个用户,所以我将其替换为_userIDs
(这是一个带逗号的整数字符串,将在存储过程中处理)。但是,如果我删除DataList
标签并将第二个参数替换为_userIDs
,则什么都不会出现。标签仍然存在,我得到的DataList
输出就是我在顶部所说的。