当前位置: 代码迷 >> ASP.NET >> 怎么让DataGrid编辑列的编辑按钮不能点击
  详细解决方案

怎么让DataGrid编辑列的编辑按钮不能点击

热度:8629   发布时间:2013-02-25 00:00:00.0
如何让DataGrid编辑列的编辑按钮不能点击
如题
如何让DataGrid每行的编辑列上的编辑按钮根据选定的条件变的可/不可点击

就和Control.Enabled=false/true
类似

------解决方案--------------------------------------------------------
编辑按钮做成模版列,item_databound,根据条件按钮findcontrol,Control.Enabled=false/true .
试试

------解决方案--------------------------------------------------------
没试过~~关注~
------解决方案--------------------------------------------------------
如果使用的是模板列和linkbutton
在RowDataBound事件中
if(e.Row.RowType==DataControlRowType.DataRow)
{
if(判断值为真)
{
LinkButton lbE = (LinkButton)e.Row.FindControl("lbEdit");
lbE.OnClientClick = "javascript:return false;"; //如果使用js判断是否编辑或删除,使用这行代码.没有就不用.
lbE.Enabled = false;
}
}

不知道是不是楼主要的效果.
------解决方案--------------------------------------------------------
1 将编辑列转换成模板列

2 进入 html代码视图,将编辑的linkbutton的id 改为lbtnEdit

3 在gridview的rowdatabound事件中

C# code
 protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)        {            if (e.Row.RowType == DataControlRowType.DataRow || e.Row.RowType == DataControlRowType.EmptyDataRow)            {                LinkButton lbtnEdit = e.Row.FindControl("lbtnEdit") as LinkButton;                if(要让编辑按钮不可用的条件)                {                    lbtnEdit.Enabled = false;                }            }        }
------解决方案--------------------------------------------------------
如果使用的是模板列和linkbutton
在RowDataBound事件中
if(e.Row.RowType==DataControlRowType.DataRow)
{
if(判断值为真)
{
LinkButton lbE = (LinkButton)e.Row.FindControl("lbEdit");
lbE.OnClientClick = "javascript:return false;"; //如果使用js判断是否编辑或删除,使用这行代码.没有就不用.
lbE.Enabled = false;
}
}

不知道是不是楼主要的效果.
------解决方案--------------------------------------------------------
不知道你要什么效果 
C# code
protected void GridView1_RowCreated(object sender, GridViewRowEventArgs e)    {        if (e.Row.RowType == DataControlRowType.DataRow)  //判断是否为数据行,要不有可能是标题行,执行会出错。        {       TableCell  myTableCell = (TableCell)e.Row.Controls[4];          LinkButton btn = (LinkButton)myTableCell.Controls[0];     btn.Enabled=false                  }           }
  相关解决方案