日期:2014-05-20  浏览次数:20548 次

如果代码控制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 为列的序号。