用dropdownlist控制gridview某个单元格的显示与否
来源:互联网 发布:js随机生成字母和数字 编辑:程序博客网 时间:2024/06/04 20:00
今天在做一个页面时,用dropdownlist选择用户类别(管理员与会员两种),当选择管理员时要显示的字段有:用户名,真实姓名,Email,所属角色,编辑,删除,当选择会员时只显示用户名,真实姓名,Email,这两者用的是一个gridview,并且管理员与会员数据是由一个存储过程取出来用一个flag字段标示的,这时存在一个问题,但选择会员时要使gridview中的“所属角色”“编辑”“删除”不可见,但是当选择管理员时又可见,我最开始是把控制单元格可见性的语句放在dropdownlist的selectedindexchanged事件中的如下位置:
if (DropDownList1.SelectedIndex == 1)
{
dv.RowFilter = "flag=" + 1;
GridView1.Columns[3].Visible = true;
GridView1.Columns[4].Visible = true;
GridView1.Columns[5].Visible = true;
//GridView1.EditIndex = -1;
GridView1.DataSource = dv;
DataBind();
}
else if(DropDownList1 .SelectedIndex ==2)
{
dv.RowFilter = "flag=" + 2 ;
GridView1.Columns[3].Visible = false;
GridView1.Columns[4].Visible = false;
GridView1.Columns[5].Visible = false;
//GridView1.EditIndex = -1;
GridView1.DataSource = dv;
DataBind();
}
但是运行时,发现有问题,当选择管理员时数据显示正确,再选择会员时数据显示也正确,但是当再选择管理员时就有问题了,编辑,删除都可用,但是“所属角色”一栏却显示的是“所属角色”,说明未对该列进行绑定,但是当单击编辑时,所属角色又显示的是准确数据,再单击取消时也是正确数据!试了几次依旧是这样的,看了半天也没看出来问题在哪里,如果说是未对该列进行绑定那第一次选择管理员时为何能正确读取数据呢,但是选择会员再回到管理员时,又显示的是“所属角色”,似乎说明未绑定数据,问题到底在哪里呢?后来仔细想了一下,试着把这几句话的位置换了个位置,结果问题解决!
GridView1.Columns[3].Visible = true;
GridView1.Columns[4].Visible = true;
GridView1.Columns[5].Visible = true;
,换了之后的代码如下:
DataView dv = dt.DefaultView;
GridView1.Columns[3].Visible = true;
GridView1.Columns[4].Visible = true;
GridView1.Columns[5].Visible = true;
if (DropDownList1.SelectedIndex == 1)
{
dv.RowFilter = "flag=" + 1;
//GridView1.EditIndex = -1;
GridView1.DataSource = dv;
DataBind();
}
else if(DropDownList1 .SelectedIndex ==2)
{
dv.RowFilter = "flag=" + 2 ;
GridView1.Columns[3].Visible = false;
GridView1.Columns[4].Visible = false;
GridView1.Columns[5].Visible = false;
//GridView1.EditIndex = -1;
GridView1.DataSource = dv;
DataBind();
}
想了一下,这样改似乎有一定的道理:第4.5.6列只有在选择了会员时不需要显示,其他时候都是可见的,只需把控制它们不可见的语句放在选择了会员的条件中!
- 用dropdownlist控制gridview某个单元格的显示与否
- 设置GridView某个单元格显示的字数,其余的使用省略号显示
- osg控制节点的显示与否
- GridView中的每个单元格文本长度的控制,鼠标悬停时,显示单元格所有的内容
- 动态地决定某个菜单项的显示与否
- 动态地决定某个菜单项的显示与否
- 在后台控制一个a标签或者button(控件)的显示与否,或者禁用与否
- js控制jsp中tr的显示与否
- Liferay : 如何根据角色来控制 dock 的显示与否
- 内容页控制母版页按钮的显示与否
- js用下拉菜单控制表格显示与否
- js用下拉菜单控制表格显示与否
- 让DropDownlist像GridView一样方便的显示ToolTip
- dropdownlist 控制显示与不显示的方法
- javascript控制显示与否和验证问题
- 一个js脚本,控制显示与否
- 用DropDownList提供查询条件,GridView显示查询结果
- GridView移动某个单元格或行
- gridview激发了未处理的事件“PageIndexChanged”事件
- GridView行变色 e.Row.RowType == DataControlRowType.DataRow
- 使用ping机制解决原创文章被高权重采集网站优先收录问题
- GridView的事件
- 无法将类型为“System.Web.UI.LiteralControl”的对象强制转换为类型“System.Web.UI.WebControls.TextBox”的解决方法
- 用dropdownlist控制gridview某个单元格的显示与否
- ASP.NET 页面间传递参数的方法
- Sql sever中的CASE语句
- Page.IsPostBack属性
- 正则表达式
- 二叉树的非递归中序遍历
- sql sever经典语句
- select case语句
- sql sever中的set nocount选项