asp: BoundField visualizar os valores com uma condição
-
12-09-2019 - |
Pergunta
eu tenho um dataview com:
<asp:BoundField DataField="AccontoAutorizzato" HeaderText="Acconto Aut."
SortExpression="AccontoAutorizzato" dataformatstring="{0:C}" />
É possível ocultar os valores de cada com uma condição como
Visible=<%# ((Int32)Eval("StatoID") < 2) %>
?
Graças
Solução
É possível com seguinte
<asp:TemplateField HeaderText="Acconto Aut." >
<ItemTemplate>
<asp:Label ID="lbl" runat="server" Text='<%# Bind"AccontoAutorizzato") %>'
Visible='<%# ((int)(Eval("StatoID")) < 2) %>' />
</ItemTemplate>
</asp:TemplateField>
Outras dicas
de Saar resposta não funcionou para mim, porque mesmo que a ligação deve retornar um verdadeiro ou falso, o intérprete não poderia realmente converter o resultado condição para um booleano valor.
Então, ao invés, eu usei uma escolha explícita de 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 isso torna mais fácil para os outros que lutam com o erro booleana ao aplicá-la a uma propriedade Visible.
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow