4,816
社区成员
发帖
与我相关
我的任务
分享
<asp:Repeater ID="rptTotals" runat="server" onitemdatabound="rptTotals_ItemDataBound" >
<HeaderTemplate>
<table width="98%" border="1" style="line-height:28px;vertical-align:middle;">
<tr style="background-color:#A6CBEF;">
<th width="5%">NO.</th>
<th width="8%">被调查人姓名</th>
<th width="7%">工号</th>
<th width="5%">部门</th>
<th width="5%">职等</th>
<th width="7%">调查人姓名</th>
<th width="8%">工号</th>
<th width="40%">题目</th>
<th width="5%">分数</th>
<th width="5%">总分数</th>
<th width="5%">同级平均分</th>
<th>日期</th>
</tr>
</HeaderTemplate>
<ItemTemplate>
<tr>
<td>
<asp:Label ID="NO" runat="server" Text='<%# Container.ItemIndex + 1%>'></asp:Label>
<asp:Label ID="lblID" runat="server" Text='<%# DataBinder.Eval(Container.DataItem,"ID")%>' Visible="false"></asp:Label>
</td>
<td><asp:Label ID="lblRespondents_Name" runat="server" Text='<%# DataBinder.Eval(Container.DataItem,"Respondents_Name")%>'></asp:Label></td>
<td><asp:Label ID="lblRespondents_No" runat="server" Text='<%# DataBinder.Eval(Container.DataItem,"F_Respondents_No") %>'></asp:Label></td>
<td><asp:Label ID="lblRespondents_Depart" runat="server" Text='<%# DataBinder.Eval(Container.DataItem,"Respondents_Dept") %>'></asp:Label></td>
<td><asp:Label ID="lblRespondents_Level" runat="server" Text='<%# DataBinder.Eval(Container.DataItem,"Respondents_Level") %>'></asp:Label></td>
<td><asp:Label ID="lblInvestigators_Name" runat="server" Text='<%# DataBinder.Eval(Container.DataItem,"Investigators_Name") %>'></asp:Label></td>
<td><asp:Label ID="lblInvestigators_No" runat="server" Text='<%# DataBinder.Eval(Container.DataItem,"F_Investigators_No") %>'></asp:Label></td>
<td colspan="2">
<table border="1" width="100%">
<asp:Repeater ID="rptEach" runat="server">
<ItemTemplate>
<tr>
<td width="90%" align="left"><asp:Label ID="lblTopic" runat="server" Text='<%# DataBinder.Eval(Container.DataItem,"Topic_Detail") %>'></asp:Label></td>
<td width="10%"><asp:Label ID="lblScore" runat="server" Text='<%# DataBinder.Eval(Container.DataItem,"Topic_Score") %>'></asp:Label></td>
</tr>
</ItemTemplate>
</asp:Repeater>
</table>
</td>
<td><asp:Label ID="lblScore" runat="server" Text='<%# DataBinder.Eval(Container.DataItem,"Total_Score") %>'></asp:Label></td>
<td>
<table border="0" width="100%">
<asp:Repeater ID="rptAvg" runat="server">
<ItemTemplate>
<tr>
<td width="100%" align="left">
<asp:Label ID="lblAverage" runat="server" Text='<%# DataBinder.Eval(Container.DataItem,"Avg_Score") %>'></asp:Label>
</td>
</tr>
</ItemTemplate>
</asp:Repeater>
</table>
</td>
<td><asp:Label ID="lblTime" runat="server" Text='<%# DataBinder.Eval(Container.DataItem,"Insert_Date") %>'></asp:Label></td>
</tr>
</ItemTemplate>
<FooterTemplate>
</table>
</FooterTemplate>
</asp:Repeater>
protected void Load_TotalScoreList()
{
StringBuilder sb_TSL = new StringBuilder("");
sb_TSL.Append("SELECT a.F_Respondents_No, b.USER_DspName as Respondents_Name, b.USER_CostCenter as Respondents_Dept, b.USER_Level as Respondents_Level, ");
sb_TSL.Append("a.F_Investigators_No,c.USER_DspName as Investigators_Name, c.USER_CostCenter as Investigators_Dept, c.USER_Postion as Investigators_Pos, ");
sb_TSL.Append("a.Total_Score,a.Insert_Date,a.ID FROM dbo.Respondents_TotalScore a ");
sb_TSL.Append("inner join dbo.Emp_Info b on a.F_Respondents_No=b.USER_HRID ");
sb_TSL.Append("inner join dbo.Emp_Info c on a.F_Investigators_No=c.USER_HRID ");
sb_TSL.Append(" order by a.Total_Score");
DataTable dtTS = db.dbGetDataTable("DBConnectionString", sb_TSL.ToString());
rptTotals.DataSource = dtTS;
rptTotals.DataBind();
}
protected void rptTotals_ItemDataBound(object sender, RepeaterItemEventArgs e)
{
if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
{
Repeater rptEach = (Repeater)e.Item.FindControl("rptEach");
Label lblID = (Label)e.Item.FindControl("lblID");
StringBuilder sb_ESL = new StringBuilder("");
sb_ESL.Append("SELECT a.ID,a.Topic_Score,");
sb_ESL.Append("b.Topic_Detail FROM dbo.Respondents_EachScore a ");
sb_ESL.Append("left join dbo.Topic_Info b on a.F_Topic_ID=b.Topic_ID where a.Topic_Score<>'' and a.ID='"+lblID.Text.Trim ()+"' ");
DataTable dtES = db.dbGetDataTable("DBConnectionString", sb_ESL.ToString());
rptEach.DataSource = dtES;
rptEach.DataBind();
Repeater rptAvg = (Repeater)e.Item.FindControl("rptAvg");
Label lblLevel = (Label)e.Item.FindControl("lblRespondents_Level");
StringBuilder sb_Avg = new StringBuilder("");
sb_Avg.Append("select b.USER_Level, AVG (convert(int,Total_Score)) as Avg_Score ");
sb_Avg.Append("FROM dbo.Respondents_TotalScore a ");
sb_Avg.Append("inner join dbo.Emp_Info b on a.F_Respondents_No=b.USER_HRID ");
sb_Avg.Append("where b.USER_Level='" + lblLevel.Text.Trim() + "'");
sb_Avg.Append("group by b.USER_Level ");
DataTable dtAvg=db.dbGetDataTable("DBConnectionString",sb_Avg.ToString());
rptAvg.DataSource = dtAvg;
rptAvg.DataBind();
}
}
protected void lbtnExcel_Click(object sender, EventArgs e)
{
Response.Clear();
Response.Buffer = true;
Response.Charset = "utf-8";
Response.AppendHeader("Content-Disposition", "attachment;filename=" + HttpUtility.UrlEncode("test", System.Text.Encoding.UTF8) + ".xls");
Response.ContentEncoding = System.Text.Encoding.GetEncoding("GB2312");
Response.ContentType = "application/ms-excel";
this.EnableViewState = false;
System.Globalization.CultureInfo myCItrad = new System.Globalization.CultureInfo("ZH-CN", true);
System.IO.StringWriter oStringWriter = new System.IO.StringWriter(myCItrad);
System.Web.UI.HtmlTextWriter oHtmlTextWriter = new System.Web.UI.HtmlTextWriter(oStringWriter);
this.rptTotals.RenderControl(oHtmlTextWriter);
Response.Write(oStringWriter.ToString());
Response.End();
}