Pregunta

tengo un DataView con:

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

es posible ocultar los valores de cada uno con una condición como

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

Gracias

¿Fue útil?

Solución

Es posible con los siguientes

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

Otros consejos

respuesta de Saar no funcionó para mí, porque a pesar de que la unión debe devolver un verdadero o falso, el intérprete no podía convertir en realidad el resultado de una condición booleana valor.

Así que en lugar, he utilizado una elección explícita de los valores 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>

Espero que esto hace que sea más fácil para otros que luchan con el error de Boole cuando se aplica a una propiedad Visible.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top