Вопрос

у меня есть dataview с:

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

возможно ли скрыть значения каждого из них с условием типа

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

?

Спасибо

Это было полезно?

Решение

Это возможно при следующих условиях

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

Другие советы

Ответ Саара у меня не сработало, потому что, хотя привязка должна возвращать значение true или false , интерпретатор фактически не смог преобразовать результат условия в логическое значение.

Поэтому вместо этого я использовал явный выбор 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>

Я надеюсь, что это облегчает задачу другим, кто борется с логической ошибкой при применении ее к видимому свойству.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top