这是我从SQL数据库中检索的数据,是的,它是动态的,我在里面使用了Repeater和html表。我正在尝试合并细胞。对于Panel列,我希望不重复红框中的那些数据
这是我的转发器:
<asp:Repeater ID="rptNotification" runat="server" OnItemDataBound="rptNotification_ItemDataBound">
<HeaderTemplate>
<table class="table">
<tr>
<th>COURSE</th>
<th>DATE</th>
<th>DAY</th>
<th>TIME</th>
<th>TITLE</th>
<th>NAME</th>
<th>PANEL</th>
</tr>
</HeaderTemplate>
<ItemTemplate>
<tr>
<td rowspan="1">
<asp:Label ID="lblCOURSE" runat="server" Text='<%#Eval("[COURSE]") %>'></asp:Label>
</td>
<td rowspan="1">
<asp:Label ID="lblDate" runat="server" Text='<%#Eval("[DATE]") %>'></asp:Label>
</td>
<td rowspan="1">
<asp:Label ID="lblDAY" runat="server" Text='<%#Eval("[DAY]") %>'></asp:Label>
</td>
<td rowspan="1">
<asp:Label ID="lblTIME" runat="server" Text='<%#Eval("[TIME]") %>'></asp:Label>
</td>
<td rowspan="1">
<asp:Label ID="lblTITLE" runat="server" Text='<%#Eval("[TITLE]") %>'></asp:Label>
</td>
<td rowspan="1">
<asp:Label ID="lblNAME" runat="server" Text='<%#Eval("[NAME]") %>'></asp:Label>
</td>
<td rowspan="1" colspan="1">
<asp:Label ID="lblPANEL" runat="server" Text='<%#Eval("[PANEL]") %>'></asp:Label>
</td>
</tr>
</ItemTemplate>
<FooterTemplate>
</table>
</FooterTemplate>
</asp:Repeater>
这是我背后的代码:
private void Test()
{
SqlCommand cmd = new SqlCommand("myQuery");
DataSet ds = myClass.getSet(cmd);
DataRowCollection data = ds.Tables[0].Rows;
for (int i = data.Count - 1; i > 0; i--)
{
if (data[i]["COURSE"].ToString() == data[i - 1]["COURSE"].ToString())
{
data[i]["COURSE"] = "";
}
if (data[i]["DAY"].ToString() == data[i - 1]["DAY"].ToString())
{
data[i]["DAY"] = "";
}
if (data[i]["TIME"].ToString() == data[i - 1]["TIME"].ToString())
{
data[i]["TIME"] = "";
}
if (data[i]["DATE"].ToString() == data[i - 1]["DATE"].ToString())
{
data[i]["DATE"] = "";
}
if (data[i]["TITLE"].ToString() == data[i - 1]["TITLE"].ToString())
{
data[i]["TITLE"] = "";
}
if (data[i]["NAME"].ToString() == data[i - 1]["NAME"].ToString())
{
data[i]["NAME"] = "";
}
}
rptNotification.DataSource = data;
rptNotification.DataBind();
}