首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

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

2012-02-21 
如何让DataGrid编辑列的编辑按钮不能点击如题如何让DataGrid每行的编辑列上的编辑按钮根据选定的条件变的

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

热点排行