ASP.NET: GridView zeigt eine Schaltfläche in einer Zeile angezeigt, wenn eine Zeilenzelle vlaue = false in der Grenze aus der Datenbank

StackOverflow https://stackoverflow.com/questions/1748818

  •  20-09-2019
  •  | 
  •  

Frage

Ich habe eine GridView für eine Datenquelle, ich habe mich gefragt, wie ich einen Zeilenzellwert (BOOL) aus der Datenbankzeile überprüfen und dann eine Schaltfläche auf den Zeilen anzeigen kann, an der der Zellenwert dem Zellenwert entspricht.

Ich verwende das OnDatabound-Ereignis, um die gebundene Raster-Reihe abzurufen. Ich nehme die ID-Show an und führe eine andere Prozedur mit der Datenbank aus, um den Wert der Zelle aus der entsprechenden Datenbankzeile zu finden. Aber ich kann nicht herausfinden, wie man die Taste hinzufügt ..

Gibt es auch andere Möglichkeiten, um mit diesem Szenario umzugehen?

War es hilfreich?

Lösung

Lösung 1: Erstellen Sie eine Schaltfläche mit einer ID, an der Sie sie in der Gridview möchten, mit einem Attribut sichtbar = false. Wann immer Sie die Schaltfläche anzeigen möchten, rufen Sie sie ab ((currentGridRow.FindControl("chosen button ID")) und setzen Sie es sichtbar zu true.

Legen Sie Ihre Schaltfläche in ein Vorlagenfeld wie das:

 <asp:TemplateField HeaderText="foobar" >
    <ItemTemplate>
    <asp:ImageButton ID="plusbutton" CssClass="cplusButton" ToolTip="plusButton" OnClick="buttonAdd_Click" runat="server" Visible = "false"/>
    </ItemTemplate>
</asp:TemplateField>

Lösung 2: Erstellen Sie die Schaltfläche dynamisch (Button b = new Button; currentGridRow.Cell[].Controls.Add(b);), aber es ist ein Schmerz, mit dem ViewState und dem Ereignishandler umzugehen. Geh nicht so.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top