我的网格是 5 列,一个“事件”列,后跟 Q1 到 Q4。四分之一列中的一个在任何给定时间都是可编辑的,其他三个是标签。这是我用来确定显示哪个的代码(q 在别处定义):
<telerik:GridTemplateColumn HeaderText="Q2" DataField="Q2" UniqueName="Q2">
<ItemTemplate>
<% If (q = 3) Then%>
<telerik:RadNumericTextBox ID="rntb_Q2" runat="server" Type="Number" ShowSpinButtons="true" Value='<%# CInt(Eval("Q2")) %>' Width="50px" CssClass="short" MinValue="0">
<IncrementSettings InterceptArrowKeys="false" InterceptMouseWheel="false" Step="1" />
<NumberFormat DecimalDigits="0" GroupSeparator="," />
</telerik:RadNumericTextBox>
<% Else%>
<asp:Label ID="lbl_Q2" runat="server" Text='<%# If(Eval("Q2") Is Nothing, "0", Eval("Q2")) %>'></asp:Label>
<% End If %>
</ItemTemplate>
</telerik:GridTemplateColumn>
这段代码一切正常;问题是当我想更改一行以始终显示标签时。我也尝试过If ((q = 3) AndAlso (Not GetDataItem("EventDesc").ToString.ToLower = "total error doses"))
,If ((q = 3) AndAlso (Not Eval("EventDesc").ToString.ToLower = "total error doses"))
但是两者都收到了一个错误,即无法在数据绑定之外使用 Eval 等。
感谢您的帮助。