【问题标题】:Accessing cell 1 in Telerik RadGrid from cell 3 (not databound)从单元格 3 访问 Telerik RadGrid 中的单元格 1(非数据绑定)
【发布时间】:2012-08-07 13:56:34
【问题描述】:

我的网格是 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 等的错误。

感谢您的帮助。

【问题讨论】:

    标签: c# vb.net telerik eval radgrid


    【解决方案1】:

    所以我试图做的是改变是否显示 RadNumericTextBox 或标签。这无需直接访问另一个单元格的内容即可实现结果。它使用 .ItemIndex 属性来确定哪些控件应该是可见的。

    <telerik:GridTemplateColumn HeaderText="Q2" DataField="Q2" UniqueName="Q2">
        <ItemTemplate>
            <% If (q = 3) Then %>
                <telerik:RadNumericTextBox ID="rntb_Q2c" runat="server" Type="Number" ShowSpinButtons="true" Value='<%# Eval("Q2") %>' Width="75px" CssClass="short" Visible='<%#If(TryCast(Container, GridDataItem).ItemIndex < 9, True, False) %>'>
                    <IncrementSettings InterceptArrowKeys="false" InterceptMouseWheel="false" Step="1" />
                    <NumberFormat DecimalDigits="0" GroupSeparator="" />
                </telerik:RadNumericTextBox>
                <asp:Label ID="lbl_Q22" runat="server" Text='<%# Eval("Q2") %>' Visible='<%#If(TryCast(Container, GridDataItem).ItemIndex < 9, False, True) %>'></asp:Label>
            <% Else %>
                <asp:Label ID="lbl_Q2" runat="server" Text='<%# If(Eval("Q2") Is Nothing, "0", Eval("Q2")) %>'></asp:Label>
            <% End If %>
        </ItemTemplate>
    </telerik:GridTemplateColumn>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-05-29
      • 2014-08-09
      • 1970-01-01
      • 2015-03-01
      • 1970-01-01
      相关资源
      最近更新 更多