2017-03-10 3 views
2

Mein DataGrid ist so etwas wie dieses:Spalten ausblenden in ASP.Net 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> 

Dies ist im Grunde eine Liste der Aufgabe mit Last 2 Spalten als Edit und Delete. Ich benutze DNN8. Ich möchte die Edit und Delete Links ausblenden, wenn der Benutzer nicht als Superuser angemeldet ist. Wie kann ich das machen? Ich habe auch versucht, die Eigenschaft OnAutoBinding, aber kein Glück.

Danke, im Voraus für die Hilfe.

+0

können Sie sichtbar verwenden = „false“ auf Ihrem Linkbutton und wenn der Benutzer angemeldet ist, um die Sichtbarkeit zu ändern. –

+0

Ja, ich weiß, dass ich die Visible-Eigenschaft des Datagrids verwenden kann. Aber ich möchte es dynamisch mit einer Kodierung wie '(userInfo.IsSuperUser? Visible = true: Visible = false) verwenden' –

Antwort

0

Sie können Sie dieses

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