如题
如何让DataGrid每行的编辑列上的编辑按钮根据选定的条件变的可/不可点击就和Control.Enabled=false/true
类似

解决方案 »

  1.   

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

  2.   

     如果使用的是模板列和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;
       }
    }不知道是不是楼主要的效果.
      

  3.   

    1 将编辑列转换成模板列2 进入 html代码视图,将编辑的linkbutton的id 改为lbtnEdit3 在gridview的rowdatabound事件中 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;
                    }
                }
            }
      

  4.   

     如果使用的是模板列和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;
       }
    }不知道是不是楼主要的效果.
      

  5.   

    不知道你要什么效果 
    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
              
            }       
        }