سؤال

لدي 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>

نصائح أخرى

إجابة سار لم تنجح بالنسبة لي، لأنه على الرغم من أن الربط يجب أن تعيد حقيقة أو خطأ، فإن المترجم لا يمكن أن يؤدي فعلا إلى تحويل الحالة إلى قيمة منطقية.

لذلك بدلا من ذلك، استخدمت اختيارا واضحا 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