Shaswat94 Ответов: 1

Как показать и скрыть столбцы в ASP.NET datagrid динамически


Моя Датагрид-это что-то вроде этого:

<pre><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-х столбцов, редактировать и удалять. Я использую DNN8. Я хочу скрыть ссылки редактирования и удаления, если пользователь не вошел в систему как суперпользователь. Как я могу это сделать?

Что я уже пробовал:

Я попробовал использовать свойство с помощью атрибута OnAutoBinding и определить функцию в коде, но дальше этого дело не пошло. Спасибо за hwlp.

1 Ответов

Рейтинг:
1

Karthik_Mahalingam

bool isSuperUser = checkIsSuperUser();
if (!isSuperUser)
{
    tasks.Columns[3].Visible = false; // edit column index
    tasks.Columns[4].Visible = false; // delete column index
}