当前位置: 代码迷 >> ASP.NET >> 如果代码控制CommandField的ShowDeleteButton/ShowEditButton解决办法
  详细解决方案

如果代码控制CommandField的ShowDeleteButton/ShowEditButton解决办法

热度:6705   发布时间:2013-02-26 00:00:00.0
如果代码控制CommandField的ShowDeleteButton/ShowEditButton
想在后台代码控制CommandField列的编辑和删除按钮的显示
protected   void   gridRegion_RowDataBound(object   sender,   GridViewRowEventArgs   e)
        {
                if   (e.Row.RowType   !=   DataControlRowType.Header)
                {
                        int   iCount   =   int.Parse(e.Row.Cells[2].Text);
                        if   (iCount   ==   0)
                        {
                            ....第四列的CommandField显示删除按钮ShowDeleteButton   =   true;   这里如何写的?

                        }
                }                
        }

------解决方案--------------------------------------------------------
this.gridRegion.Columns[3].Visiable=true;
------解决方案--------------------------------------------------------
在GridView的属性对框话框中点击“Columns”进入它的“字段”设计器。接着在“字段”设计器中选择以前已加上的那个CommandField“删除”列,这时在它的属性列表下会看到一个“将此它段转换为 TemplateFied”的项,点击将它转换为TemplateFied列。
完后退出该字段设计器,切换到源码视图你会发现该列已由原来的: <asp:CommandField ShowDeleteButton= "True " />
变为了:
<asp:TemplateField ShowHeader= "False ">
<ItemTemplate>
<asp:LinkButton ID= "LinkButton1 " runat= "server " CausesValidation= "False " CommandName= "Delete " Text= "删除 "> </asp:LinkButton>
</ItemTemplate>


然后就可以用GridView.FindControl( "LinkButton1 ").Visible=true/false;

------解决方案--------------------------------------------------------
哦,转换成TemplateFied,应该用

GridView.Columns[n].Visible=true/false;

来显示或隐藏列。其中 n 为列的序号。
  相关解决方案