ZC公司员工评分系统——后台查询合成DataTable

因为此系统中的评分指标是动态设置的,所以后台对每个评分指标查询结果显示的过程中需要对评分指标和被评人信息进行动态合成datatable,然后显示。

后台查询界面:

以下是核心代码:

#region 合成datatable DataTable dtEvaluater = new DataTable();//将被评分人datatable当做源datatable DataTable dtMainIndex = new DataTable();//存放全部使用的大类指标 dtMainIndex = resultQueryManager.SelectAllMain("1"); //选出全部大类指标 dtEvaluater = resultQueryManager.SelectByDepartment(departmentName);//按部门名称选出全部被评分人 if (dtEvaluater.Rows.Count == 0) //没有被评人数据 { Label1.Visible = true; Label1.Text = "此部门下没有测评人。"; return; } //选出全部大类指标,当做列添加到dtEvaluater源datatable中,进行datatable的拼接 for (int k = 0; k < dtMainIndex.Rows.Count; k++) { string dtColumnName = dtMainIndex.Rows[k]["MainContent"].ToString(); //dtEvaluater.Columns.Add(dtColumnName);//dtEvaluater中添加大类列,并用大类内容作为列名 dtEvaluater.Columns.Add(dtColumnName, typeof(System.String));//dtEvaluater中添加大类列,并用大类内容作为列名 } dtEvaluater.Columns.Add("总分", typeof(System.String)); //添加总分列 //设置变量,用于存放计算后的总分 //循环添加每一个大类的分数 for (int i = 0; i < dtEvaluater.Rows.Count; i++) { double strSum = 0; //按照被评分人选出全部大指标分数,并添加上,合成一个datatable int EvaluaterID = System.Int32.Parse(dtEvaluater.Rows[i]["EvaluaterID"].ToString()); //得到dtEvaluater中被评人ID for (int j = 0; j < dtMainIndex.Rows.Count; j++) { int MainIndexID = System.Int32.Parse(dtMainIndex.Rows[j]["MainIndexID"].ToString());//得到大类指标ID //根据实验课指标大类Id,课程Id计算此课程此大类的分数 DataTable dtScore = resultQueryManager.AverageMainIndex(semester, year, MainIndexID, EvaluaterID);//一门课程一个大类指标的分数 string mainContent = dtMainIndex.Rows[j]["MainContent"].ToString(); //选出大类Id对应的大类名称 if (dtScore.Rows.Count != 0) //存在分数 { if (dtScore.Rows[0][0].ToString() == "") //此大类指标下没有分数值,此大类指标没有参加测评 { dtEvaluater.Rows[i][mainContent] = ""; } else { double dScore = Convert.ToDouble(dtScore.Rows[0][0].ToString()); //Math.Round(dScore,2);//按照四舍五入的国际标准 dtEvaluater.Rows[i][mainContent] = Math.Round(dScore, 2);//将分数加入到dt相对应的大类下 (转换成两位小数) strSum = strSum + Math.Round(dScore, 2); //dtEvaluater.Rows[i][mainContent] = dtScore.Rows[0][0].ToString(); //将分数加入到dt相对应的大类下 (没有转换成两位小数) } } else //不存在分数 { dtEvaluater.Rows[i][mainContent] = "0"; } dtEvaluater.Rows[i]["总分"] = strSum;//填充总分单元格 } } #endregion dtEvaluater.Columns.Remove("EvaluaterID"); dtEvaluater.Columns.Remove("IsUsed"); dtEvaluater.Columns["EvaluaterName"].ColumnName = "姓名"; dtEvaluater.Columns["EvaluaterDepartment"].ColumnName = "部门"; dtEvaluater.Columns["EvaluaterPosition"].ColumnName = "职务"; gvResult.DataSource = dtEvaluater; gvResult.DataBind();


评测内容后台可进行修改。支持添加任意类型的评测项目。     尊敬的各位员工: 您好! 感谢您长期以来为本企业的发展所做出的努力与奉献!为能更深入地了解您对公司在经营、管理、制度以及领导等方面存在的问题以及您对工作的满意程度,我们特编制了这份调查问卷,问卷以不记名的方式进行,希望您能在百忙之中抽出一点时间,认真、详实地完成问卷的全部内容。在填写问卷的过程中,请您注意以下几点: 1) 根据您自身的工作经验及工作体会,深思熟虑,选择与您想法最吻合的选项。 2) 每题都有五个选项。其中: ①“完全不符合”是指所列问题跟您的实际情况完全不一样; ②“较不符合”是指所列问题跟您的实际情况不是很一致; ③“说不清楚”是指所列问题您从未考虑过这个情况或不知道; ④“较符合”是指所列问题跟您的实际情况比较一致; ⑤“完全符合”是指所列问题跟您的实际情况完全一样。 3) 每一问题只能选择一个答案。 感谢您在繁忙的工作中填写这份问卷,谢谢您对我们工作的支持与帮助! 1.我单位拥有明确的战略和目标 2.我的价值观跟本单位的价值观很吻合 3.我很喜欢本单位的文化氛围 4.单位专门组织过有助于提高员工自身素质的活动 5.在过去六个月内,工作单位有人和我谈及我的进步 6.我有提高自身工作能力的愿望 7.公司帮助我制定了清晰的个人职业发展计划 8.在过去的一年里,我在工作中有机会学习和成长 9.在职务升迁过程中,单位提供公平竞争的机会   ………………………… 35.我对企业的薪酬政策(包括工资、奖金等)很满意 36.我对企业的福利政策(包括带薪假期、提供班车、解决午餐等)很满意 37.企业很关注提高员工的生活品质 38.我对企业的发展前景很有信心 39.您认为本单位在人员管理上还存在哪些不合理之处(请概述): 40.您认为公司(企业)还有哪些方面或做法令您不满意(请概述): 41.您认为公司(企业)应该改善哪些方面能够更好地激发您的工作积极性(请概述): 个人基本信息: 年龄:性别:所学专业:进入企业工作时间: 职位:1)普通员工;2)基层管理者;3)中层管理者;4)高层管理者 最后学历:1)高中及以下;2)中专或技校;3)大专;4)本科;5)硕士及以上。 再次感谢您的合作! 欢迎有以下需求的用户试用体验: 客户满意度调查表,满意度调查表,顾客满意度调查表,满意度调查报告,员工满意度调查表,满意度调查问卷,员工满意度调查,员工满意度调查问卷,客户满意度调查 顾客满意度调查报告,满意度测评表,群众满意度测评,群众满意度测评表,群众满意度测评总结,企业满意度调查,满意度测评表怎么做,服务满意度调查问卷,社区满意度测评,顾客满意度测评
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值