Domanda

ho un dataview con:

<asp:BoundField DataField="AccontoAutorizzato" HeaderText="Acconto Aut." 
                        SortExpression="AccontoAutorizzato" dataformatstring="{0:C}"  />

è possibile nascondere i valori di ciascuno con una condizione come

 Visible=<%# ((Int32)Eval("StatoID") < 2) %>

Grazie

È stato utile?

Soluzione

E 'possibile con i seguenti

<asp:TemplateField HeaderText="Acconto Aut." >
     <ItemTemplate>
          <asp:Label ID="lbl" runat="server" Text='<%# Bind"AccontoAutorizzato") %>'
                        Visible='<%# ((int)(Eval("StatoID")) < 2) %>' />
     </ItemTemplate>
</asp:TemplateField>

Altri suggerimenti

risposta di Saar non ha funzionato per me, perché anche se l'associazione dovrebbe restituire un vero o falso, l'interprete potrebbe in realtà non convertire il risultato condizione a un booleano valore.

Così, invece, ho usato una scelta esplicita di valori Boolean:

<asp:TemplateField HeaderText="Acconto Aut." >
     <ItemTemplate>
          <asp:Label ID="lbl" runat="server" Text='<%# Bind"AccontoAutorizzato") %>'
                        Visible='<%# ((int)(Eval("StatoID")) < 2) ? Convert.ToBoolean(0) : Convert.ToBoolean(1) %>' />
     </ItemTemplate>
</asp:TemplateField>

Spero che questo rende più facile per gli altri alle prese con l'errore booleana quando si applica ad una proprietà Visible.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top