隐藏ASP.Net Datagrid中的列

时间:2017-03-10 05:37:51

标签: c# asp.net datagrid

我的DataGrid是这样的:

<asp:DataGrid ID="tasks" runat="server" AutoGenerateColumns="False" GridLines="None">
    <HeaderStyle CssClass="task-list-header"/>
    <ItemStyle  CssClass="task-list-row"/>
    <Columns>
        <asp:BoundColumn DataField="Name"
                         HeaderStyle-Width="100px"
                         HeaderText="Name"></asp:BoundColumn>
        <asp:BoundColumn DataField="Description"
                         HeaderStyle-Width="250px"
                         HeaderText="Description"></asp:BoundColumn>
        <asp:BoundColumn DataField="IsComplete"
                         HeaderStyle-Width="125px"
                         HeaderText="Is Complete"></asp:BoundColumn>
        <asp:TemplateColumn>
            <HeaderStyle Width="75px"/>
            <ItemTemplate>
                <asp:HyperLink ID="Hyperlink1" runat="server"
                    NavigateUrl='<%# ModuleContext.EditUrl("TaskId", Eval("TaskId").ToString(), "EditTask") %>'
                    Text="Edit"></asp:HyperLink>
            </ItemTemplate>
        </asp:TemplateColumn>
        <asp:TemplateColumn>
            <HeaderStyle Width="75px"/>
            <ItemTemplate>
                <asp:LinkButton ID="LinkButton1" runat="server"
                    CommandArgument='<%# Eval("TaskId") %>' CommandName="Delete" Text="Delete"></asp:LinkButton>
            </ItemTemplate>
        </asp:TemplateColumn>
    </Columns>
</asp:DataGrid>

这基本上是包含最后2列的任务列表EditDelete。我正在使用DNN8。如果用户未以超级用户身份登录,我想隐藏EditDelete链接。我怎样才能做到这一点?我也尝试过属性OnAutoBinding,但没有运气。

先谢谢你的帮助。

1 个答案:

答案 0 :(得分:0)

你可以这样吗

e.Row.Cells[columnIndex].Visible = false;