GridView:如何根据某一行中数据状态显示这一行中按钮的隐藏和显示
页面加载时判断状态的代码for(inti=0;i<this.gvHoliday.Rows.Count;i++)//遍历gridview{intstatusId=0;Use...
页面加载时判断状态的代码
for (int i = 0; i < this.gvHoliday.Rows.Count; i++)//遍历gridview
{
int statusId = 0;
Users us = Session["currentUser"] as Users;
List<FlowHoliday> list = fhm.GetList(us.UserId);//读取数据到list中
for (int j = 0; j < list.Count; j++)
{
statusId = list[j].HolidayStatus;//遍历除单据状态的
}
switch (statusId)
{
case 1://状态:未审核
((Button)this.gvHoliday.Rows[i].Cells[7].FindControl("Button1")).Enabled = false;
//按钮隐藏
break;
case 2://状态:审批中
break;
case 3://状态:已审批
break;
case 4://状态:同意,转交下一步
break;
case 5://状态:退审
break;
}
实现效果是:根据单据状态,如果是未审批,开始流程按钮和删除按钮显示,指定审批人隐藏。如果是同意,转交下一步,指定审批人按钮显示,开始流程按钮和删除按钮隐藏。如果是已审核,那三个按钮都是隐藏的
目前我是用for循环取出单据状态的值,然后用if匹配,相等就把按钮隐藏,但是所有的按钮都隐藏,所以想求下大神给点思路,如果达到我想要效果 展开
for (int i = 0; i < this.gvHoliday.Rows.Count; i++)//遍历gridview
{
int statusId = 0;
Users us = Session["currentUser"] as Users;
List<FlowHoliday> list = fhm.GetList(us.UserId);//读取数据到list中
for (int j = 0; j < list.Count; j++)
{
statusId = list[j].HolidayStatus;//遍历除单据状态的
}
switch (statusId)
{
case 1://状态:未审核
((Button)this.gvHoliday.Rows[i].Cells[7].FindControl("Button1")).Enabled = false;
//按钮隐藏
break;
case 2://状态:审批中
break;
case 3://状态:已审批
break;
case 4://状态:同意,转交下一步
break;
case 5://状态:退审
break;
}
实现效果是:根据单据状态,如果是未审批,开始流程按钮和删除按钮显示,指定审批人隐藏。如果是同意,转交下一步,指定审批人按钮显示,开始流程按钮和删除按钮隐藏。如果是已审核,那三个按钮都是隐藏的
目前我是用for循环取出单据状态的值,然后用if匹配,相等就把按钮隐藏,但是所有的按钮都隐藏,所以想求下大神给点思路,如果达到我想要效果 展开
1个回答
展开全部
把 switch (statusId)
{
...
}
放在
for (int j = 0; j < list.Count; j++)
{
statusId = list[j].HolidayStatus;//遍历除单据状态的
switch (statusId)
{
...
}
}
里面
如果不放里面 你最后一个状态是 已审核 就出现你图上的结果
如果是未审核 就全部变成了 开始流程按钮和删除按钮显示,指定审批人隐藏
因为你的 statusId 的状态不是当前的 是遍历后的最后一个
{
...
}
放在
for (int j = 0; j < list.Count; j++)
{
statusId = list[j].HolidayStatus;//遍历除单据状态的
switch (statusId)
{
...
}
}
里面
如果不放里面 你最后一个状态是 已审核 就出现你图上的结果
如果是未审核 就全部变成了 开始流程按钮和删除按钮显示,指定审批人隐藏
因为你的 statusId 的状态不是当前的 是遍历后的最后一个
更多追问追答
追问
本来我是吧swith放到for里面的,但是还是同样的问题,所以我才把switch拿出来的,还是出现这个问题
追答
那你输出 看一下 statusId 的值!
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询