一个根据数据库中数据,并且页面中用户的勾选所达到的效果
来源:互联网 发布:淘宝手机详情页图 750 编辑:程序博客网 时间:2024/06/05 03:48
我在做培训功能的时候,牵涉到,针对培训期次,有已参加,未参加的人员,当针对某一期次的培训进行人员添加或删除时,根据实际情况,已参加就被勾选,而且要根据用户再次勾选或者取消来实时统计针对该批次已添加几个人,是否超过计划人数?
实现效果:
页面JS:
<script>
<!--
function addPerson()
{
var i,count=0;
for(i=0;i<document.all.gvMessageEmp.rows.length;i++)
{
var cb=document.all.gvMessageEmp.rows(i).cells(0).children(0);
if(cb.checked)
{
count=count+1;
}
}
document.getElementById("lblTrainPersonsNow").value=String(count);
}
-->
</script>
在后台PageLoad方法中,下面这个是用来在针对期次加载时来初始化已参加人员的勾选情况
for (int i = 0; i < j; i++)
{
CheckBox checkBox = (CheckBox)gvMessageEmp.Rows[i].FindControl("chbID");
string empID = gvMessageEmp.Rows[i].Cells[1].Text.ToString().Trim();
string trainID = Session["trainID"].ToString();
if (HRH_TrainInfoDetailManager.GetHRH_TrainInfoDetailByTrainID(trainID, empID) != 0)
{
checkBox.Checked = true;
}
}
下面是用来处理添加员工和取消员工的勾选情况
try{
int j = gvMessageEmp.Rows.Count;
int countCheck = 0;
if (Session["trainID"] != null)
{
string trainID = Session["trainID"].ToString();
HRH_TrainClassInfo hRH_TrainClassInfo = HRH_TrainClassInfoManager.GetHRH_TrainClassInfoByTrainID(trainID);
//这里钱是根据培训费用/计划人数得到的
decimal trainDtMoney = hRH_TrainClassInfo.TrainMoney/ hRH_TrainClassInfo.TrainPersons;
//只有当培训状态为:准备状态时,才可以对该培训计划进行人员的添加,其他状态均不可以
if (hRH_TrainClassInfo.TrainState == 1)
{
for (int i = 0; i < j; i++)
{
CheckBox checkBox = (CheckBox)gvMessageEmp.Rows[i].FindControl("chbID");
string empID = gvMessageEmp.Rows[i].Cells[1].Text.ToString().Trim();
//当该条记录已经勾选,并且数据库中没有数据是,进行添加;
//否则,当记录没有勾选,并且数据中存在该记录,进行删除
if (checkBox.Checked && HRH_TrainInfoDetailManager.GetHRH_TrainInfoDetailByTrainID(trainID, empID) == 0)
{
countCheck = countCheck + 1;
//string empID = gvMessageEmp.Rows[i].Cells[1].Text.ToString().Trim();
string empName = gvMessageEmp.Rows[i].Cells[2].Text.ToString().Trim();
int depID = int.Parse(gvMessageEmp.Rows[i].Cells[3].Text.ToString().Trim());
string depName = gvMessageEmp.Rows[i].Cells[4].Text.ToString().Trim();
int trainDtState = 0;
HRH_TrainInfoDetailManager.AddHRH_TrainInfoDetail(new HRH_TrainInfoDetail(trainID, empID, empName, depID, depName, trainDtMoney, trainDtState));
}
else if (!checkBox.Checked && HRH_TrainInfoDetailManager.GetHRH_TrainInfoDetailByTrainID(trainID, empID) > 0)
{
HRH_TrainInfoDetailManager.DeleteHRH_TrainInfoDetail(trainID, empID);
}
}
if (countCheck > Convert.ToInt32(lblTrainPersons.Text.ToString()))
{
string script = "<script>alert('您一共添加了" + countCheck.ToString() + "人,已经添加完所有的计划人数的名额!')</script>";
this.ClientScript.RegisterStartupScript(this.GetType(), "", script);
Response.Redirect("InsertTrainPerson.aspx");
}
else
{
Response.Redirect("TrainPersonStateM.aspx");
}
//可以添加这期的培训编号,在进入培训人员管理页面时默认显示当前刚添加后的这期培训人员的情况
}
else
{
Page.ClientScript.RegisterStartupScript(GetType(), "", "<script language=javascript>alert('对不起,该培训计划已经完成或放弃,不能再添加或去除培训人员!');window.location.href='TrainClassInfoManager.aspx';</script>");
}
}
}
- 一个根据数据库中数据,并且页面中用户的勾选所达到的效果
- 如何根据用户的需求达到排名上升的效果
- ios中达到Android中九妹图的效果
- 要遍历删除集合中所达到条件的数据就得用迭代器
- 数据库中数据导入前的验证并且转换代码.
- 将txt文档中内容导入到数据库,并且显示一个对话框,提示用户选择文件的位置
- 使用jQuery动态创建一个表格(根据用户输入的内容添加一行数据,并且能逐行删除)
- JavaScript 中使用 replace 达到 replaceAll的效果
- JavaScript 中使用 replace 达到 replaceAll的效果
- JavaScript 中使用 replace 达到 replaceAll的效果
- JavaScript 中使用 replace 达到 replaceAll的效果
- JavaScript 中使用 replace 达到 replaceAll的效果
- 算法中递归方式达到类似栈的效果
- $viewContentLoaded ,$routeChangeStart , $locationChangeStart 达到用户切换页面的时候实现loading效果
- 获取页面的数据 插入数据库中
- 向Sql server 数据库表中ntext字段插入数据达到上限的处理方法
- 用一个listview达到ScrollView的效果
- iframe中页面高度不能达到iframe的高度
- switch函数的使用
- Struts+Hibernate+Spring工作原理及使用理由
- java web部署
- SQLSERVER附加错误代码823的处理
- Android ADB usb
- 一个根据数据库中数据,并且页面中用户的勾选所达到的效果
- 另外一个ASP.NET 实现邮件发送和接受的功能(Sockets)
- 关于打印(自己总结一下)
- 不用栈实现二叉树非递归中序遍历
- 今天开始学习EJB,做个记号。
- 结婚的那天晚上,不看你会后悔的!~!~12月3日 14:48
- 关于QUARTZ JOB遇到的问题
- Siebel 异常:Windows.Word.APP required version 9.0.0.0, no version found
- 关于C++类库KYLib: 扩展平衡二叉树类(AVL extended tree)