2014-10-28 110 views
0

使用GridView1.Columns(0).Visible = False隐藏fld1(第一列),但我想隐藏每行旁边的编辑选项。你是怎样做的?如何隐藏GridView中的编辑列?

<asp:SqlDataSource ID="SqlDataSource1" runat="server" 
        ConnectionString="<%$ ConnectionStrings:AttendanceDBConnectionString %>" 
        SelectCommand="SELECT [fld1], [fld2], [fld3], [fld4], [fld5] FROM [fld6] ORDER BY [fld1], [fld2], [fld3]"> 
</asp:SqlDataSource> 

<asp:GridView ID="GridView1" runat="server" AllowPaging="True" AllowSorting="True" 
       AutoGenerateEditButton="True" DataSourceID="SqlDataSource1" PageSize="100"> 
</asp:GridView> 

Protected Sub GridView1_DataBound(sender As Object, e As EventArgs) Handles GridView1.DataBound 
    GridView1.Columns(0).Visible = False 
End Sub 

回答

1

隐藏在DataGrid左侧的 “编辑” 一栏,在您的ASPX文件替换此:

AutoGenerateEditButton="True" 

有了这个:

AutoGenerateEditButton="False" 

从文档上MSDN

当AutoGenerateEditButton属性设置为true时,一列...带有用于e的编辑按钮ach数据行会自动添加到GridView控件中。


如果你想这样做的代码隐藏,您可以使用您设置的ID访问相同的特性:

// test whether the grid is read-only for the current user 
if (userIsReadOnly) 
    GridView1.AutoGenerateEditButton = false; 
+0

对不起,我忘了提及,我想以编程方式做到这一点。我试图让一个可以编辑的组和其他只能看到表格的组。 – CodeEngine 2014-10-28 19:54:30

+0

已更新的答案。这是你想到的吗? – 2014-10-28 19:55:44

+0

是的。谢谢格兰特! – CodeEngine 2014-10-28 20:01:20

0

有一个数据网格视图属性,你需要查找。这是你想隐藏的行标题。看到额外的专栏?您可以隐藏图标,也可以隐藏包含它的列/标题。

datagridview1.RowHeadersVisible = False 

datagridview1.ShowEditingIcon = False 

你也可以做到这一点在DataGridView的属性窗口。

+0

他标记的问题asp.net。那是asp.net还是WinForms? – 2014-10-28 19:38:32

+0

这是vb.net,他也标记。但事实上,更接近WinForms。我通常在VS属性窗口中执行此操作。 – Kat 2014-10-28 19:39:27

+0

我没有看到你提到的方法。它显示:Gridview1.Showheader或GridView1.ShowFooter,但没有任何一个显示在上面。 – CodeEngine 2014-10-28 19:50:39