일단 소계 까지만 구하는 소스만 올려드릴께요.. 필요하신분은 참고하세요..
OracleDataAdapter Adap = new OracleDataAdapter(query, connectStr);
DataSet ds = new DataSet();
Adap.Fill(ds, "MATH_CALLMANAGER");
....여기까지는 다 아실꺼라고 생각합니다. 쿼리로 데이터셋 에 데이터를 뿌립니다..
Hashtable hashTable = new Hashtable();
ds.Tables[0].Columns.Add("TYPE"); // 이거는 TD를 colspan 하기 위해서 임의로 만들었어요
DataRow[] rows = ds.Tables[0].Select();
foreach (DataRow item in rows)
{
item["TYPE"] = "0";
DataRow row = (DataRow)hashTable[item["R_DATE"]];
if (row == null)
{
row = ds.Tables[0].NewRow();
row["U_USERNAME"] = "소계";
row["TYPE"] = "1";
row["R_DATE"] = item["R_DATE"];
row["CLASS_A_0001"] = 0;
row["CLASS_A_0002"] = 0;
row["CLASS_A_0003"] = 0;
row["CLASS_A_0009"] = 0;
row["TOTAL"] = 0;
ds.Tables[0].Rows.Add(row);
hashTable[item["R_DATE"]] = row;
}
row["CLASS_A_0001"] = Convert.ToInt32(row["CLASS_A_0001"]) + Convert.ToInt32 (item["CLASS_A_0001"]);
row["CLASS_A_0002"] = Convert.ToInt32(row["CLASS_A_0002"]) + Convert.ToInt32(item["CLASS_A_0002"]);
row["CLASS_A_0003"] = Convert.ToInt32(row["CLASS_A_0003"]) + Convert.ToInt32(item["CLASS_A_0003"]);
row["CLASS_A_0009"] = Convert.ToInt32(row["CLASS_A_0009"]) + Convert.ToInt32(item["CLASS_A_0009"]);
row["TOTAL"] = Convert.ToInt32(row["TOTAL"]) + Convert.ToInt32(item["TOTAL"]);
}
DataView dv = ds.Tables[0].DefaultView;
dv.Sort = "R_DATE desc ";
Repeater_List.DataSource = dv;
Repeater_List.DataMember = "MATH_CALLMANAGER";
Repeater_List.DataBind();
}
protected string EvalTitle() // 소계를 COLSPAN 하는 부분입니다.
{
string s = string.Empty;
switch ((string)Eval("TYPE"))
{
case "0":
s = string.Format("<td width=90 align=center>{0:yyyy-MM-dd}</td><td width=80 align=center>{1}</td>", Eval("R_DATE"), Eval("U_USERNAME"));
break;
case "1":
s = string.Format("<td align=center colspan=2>{0}</td>", Eval("U_USERNAME"));
break;
}
return s;
}
}
===================================================================================
리피터부분입니다.
<asp:Repeater ID="Repeater_List" runat="server">
<HeaderTemplate>
<table cellpadding="5" cellspacing="1" width="650" bgcolor="#D5D5D5">
<tr bgcolor="#ecfff8">
<td width=90 align=center ><strong>접수일자</strong></td>
<td width=80 align=center><strong>상담원</strong></td>
<td width=80 align=center><strong>일반상담</strong></td>
<td width=80 align=center><strong>민원</strong></td>
<td width=80 align=center><strong>하자</strong></td>
<td width=80 align=center><strong>기타</strong></td>
<td width=80 align=center><strong>합계</strong></td>
</tr>
</HeaderTemplate>
<ItemTemplate>
<tr bgcolor='<%# (string)Eval("TYPE") == "0" ? "white" : "silver" %>'>
<%# EvalTitle() %>
<td width=80 align=center><%# Eval("class_a_0001") %></td>
<td width=80 align=center><%# Eval("class_a_0002")%></td>
<td width=80 align=center><%# Eval("class_a_0003")%></td>
<td width=80 align=center><%# Eval("class_a_0009")%></td>
<td width=80 align=center><%# Eval("Total") %></td>
</tr>
</ItemTemplate>
<FooterTemplate>
</table>
</FooterTemplate>
</asp:Repeater>
첫댓글 부럽습니다. 4시간만에...ㅠ.ㅜ 저는 리피터 이해하느는데 4일 걸렸는뎅..... 아니다 일주일 걸렸던가? 팀장님한테 뒤지게 혼난 기억이..ㅋ