我有一个使用ItemTemplate的Gridview,使用一些标签和3个按钮(停用,删除和编辑),如下图所示:
我想根据用户名(Gridview上的Label UserName)隐藏某些用户的这些按钮,例如:
If UserName == "some string"
然后隐藏 停用,删除和修改按钮如何在RowDataBound
事件后面的代码中执行此操作?
答案 0 :(得分:1)
是的,使用Gridview RowDataBound事件可以做到
protected void grd1_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
Label lbl=e.Row.FindControl("your cotrol Id")as Label;
if(lbl!=null && lbl.Text.Trim()=="some string")
{
e.Row.FindControl("deactivate btn Id").Visible = false;
e.Row.FindControl("delete btn Id").Visible = false;
e.Row.FindControl("edit btn Id").Visible = false;
}
}
}
答案 1 :(得分:1)
您可以按列索引获取行数据,在RowDataBound事件中,您需要检查它是否是数据行,而不是页眉或页脚..等等
if(e.Row.RowType == DataControlRowType.DataRow)
{
if(e.Row.Cells[2].Text = "some string")
{
Button delete = (Button)e.Row.FindControl("control id to hide");
delete.Visisble = false;
}
}