Frage

Ich mag so etwas wie dies mit einem Gridview tun:

<asp:CommandField ShowSelectButton="True" Visible='<%# return Eval("SC_TABLE") %>' />

Aber das funktioniert nicht mit Fehlern kommen:

  

Datenbindung Ausdrücke sind nur   auf Objekte unterstützt, die eine haben   Databinding-Ereignis.   System.Web.UI.WebControls.CommandField   kein Databinding-Ereignis hat.

Gibt es trotzdem ich die Sichtbarkeit von der aspx Seite einstellen kann? PS: SC_TABLE besteht aus der Datenquelle, also nichts falsch von dem Teil

.
War es hilfreich?

Lösung

Sie können dies tun mit einer Template statt ...

<asp:TemplateField>
    <ItemTemplate>
        <asp:LinkButton runat="server" ID=SelectButton CommandName="SELECT" Visible='<%# Eval("SC_TABLE") %>' Text="Select" />
    </ItemTemplate>
</asp:TemplateField>

Andere Tipps

fand ich die Antwort am Ende des diesen Beitrag :

Grundsätzlich müssen Sie das RowCreated Ereignis auf dem Datagrid erfassen

OnRowCreated = "GridView1_RowCreated"

Dann wird auf der aspx.cs Seite den folgenden Code Kontrollen zu verbergen:

protected void GridView1_RowCreated(object sender, GridViewRowEventArgs e)
{
    if (e.Row.RowIndex == 1)
    {
        e.Row.Cells[0].Controls.Clear();
    } 
}

Es funktioniert, wenn Sie ein Commandfield in der ersten Spalte haben.

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