日期:2014-05-18  浏览次数:20498 次

如何让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
          
        }

       


    }