Momentan habe ich eine Methode in meinem Code-Behind, die die Funktion zum Anzeigen oder Verbergen eines Bildes in einer bestimmten Spalte meiner Rasteransicht übernimmt abhängig von einem Datenwert. Unter denselben Bedingungen möchte ich eine Verknüpfungsschaltfläche in meinem Aktionsfeld, die in jeder Zeile angezeigt werden kann, ausblenden oder anzeigen. Im Moment stelle ich einfach die Sichtbarkeit der Link-Schaltfläche ein, die ich innerhalb der oben genannten Methode anzeigen/ausblenden möchte.Gibt es eine Möglichkeit, je nach Zeile eine Verknüpfungsschaltfläche in einem Aktionspanel zu verbergen/anzuzeigen
Aber natürlich wird die Sichtbarkeit für diese Link-Schaltfläche für alle Zeilen-Instanzen des Aktionsfeldes festgelegt. Wenn beispielsweise in der letzten Zeile in der Gridview diese Funktion ausgeführt wird (wie in jeder Zeile), aber dort die Bedingungen erfüllt sind, dass die Sichtbarkeit von linkbuttons falsch ist, dann ist die Sichtbarkeit für alle Zeilen falsch.
Gibt es eine Möglichkeit, die Sichtbarkeit für jede Zeile einzeln festzulegen?
einige der relevent ascx
<div class="actionPanelWrapper" id="actionPanelItem">
<div class="actionPanelOverlap"></div>
<div class="actionPanel">
<ul>
<li>
<asp:LinkButton runat="server" ID="linkbuttonDetails" Text="Details" OnClick="actionPanel_Click" CommandName="details"></asp:LinkButton></li>
<li>
<asp:LinkButton runat="server" ID="linkbuttonViewApprovers" Text="View Approvers" OnClick="actionPanel_Click" CommandName="viewapprovers"></asp:LinkButton></li>
<li>
<asp:LinkButton runat="server" ID="linkbuttonActionEdit" Text="View Attachments" OnClick="actionPanel_Click" CommandName="attachments"></asp:LinkButton></li>
<li>
<asp:LinkButton runat="server" ID="linkbuttonComments" Text="View/Add Comments" OnClick="actionPanel_Click" CommandName="Comments"></asp:LinkButton></li>
<%--<li><a onclick="actionPanelEventHistoryShow(this);" href="#">View Request History</a></li>--%>
<li> <asp:LinkButton ID="lbEventHistory" runat="server" Text="View Request History" OnClick="actionPanel_Click" CommandName="history"></asp:LinkButton> </li>
</ul>
</div>
</div>
Der Imagemethodenaufruf in der ich huckepack und versuchte, die Sichtbarkeitseinstellung Zugabe auf der Linkbutton wie erwähnt
Visible='<%# GetStatusImageVisibility(Eval("StatusName").ToString(), Eval("IsRejected").ToString())%>'
Codebehind Methode
protected bool GetStatusImageVisibility(string Status, string IsRejected)
{
if (Status == "SAVED" && IsRejected != "1")
{
linkbuttonViewApprovers.Visible = false;
return false;
}
else
{
linkbuttonViewApprovers.Visible = true;
return true;
}
}
Technisch fügen Sie eine Logik in Ihrer 1. Methode hinzu, wo Sie Bilder verstecken/anzeigen, um dies zu tun. Konvertieren Sie Ihre Spalte mit der Verknüpfungsschaltfläche in eine Vorlagenspalte. Basierend auf Ihrer Bedingung in Ihrer OnRowDatabound-Methode mithilfe der GridViewRow.FindControl-Methode machen Sie die Verknüpfung sichtbar oder unsichtbar. – Kami
Ich verstehe das Hinzufügen der Funktionalität in den Rowdatabount, aber muss ich das Action Panel in etwas anderes konvertieren? Ist das mit einem Action Panel möglich? –
Nicht unbedingt. Können Sie einen Teil Ihres Codes teilen? – Kami