Telerik ASP.NET AJAX:如何获取数据绑定列的值,客户端

时间:2012-03-01 20:41:29

标签: javascript asp.net ajax asp.net-ajax telerik

我想获取隐藏控件的值,即TreeList的TreeListBoundColumn

<telerik:RadTreeList ID="rtlRshItems" ...>
    <Columns>
        <telerik:TreeListBoundColumn DataField="FtcPrevious" 
            UniqueName="FtcPrevious" Visible="false" runat="server">  
        </telerik:TreeListBoundColumn>
    </Columns>
</telerik:RadTreeList>

这是我编码但不起作用的(尽管它来自Telerik的论坛)

// Calculate the new FTC
var treeList = $find("<%= rtlRshItems.ClientID %>");
var ftcPrevious = treeList.get_items().getItem(0).findControl("FtcPrevious");

var ftcPreviousValue = ftcPrevious.value;

2 个答案:

答案 0 :(得分:2)

利用ClientDataKeyNamesget_dataKeyValue()代替尝试隐藏列可能会更容易。

将RadTreeList控件的定义更改为:

<telerik:RadTreeList ID="rtlRshItems" ClientDataKeyNames="FtcPrevious" ...>
    <Columns>
    </Columns>
</telerik:RadTreeList>

调整您的Javascript:

var treeList = $find("<%= rtlRshItems.ClientID %>");
var ftcPreviousValue = treeList.getItem(0).get_dataKeyValue("FtcPrevious");

注意:最新的Telerik documentation for RadTreeList未将get_items()列为有效的函数调用。根据您的版本需要进行调整。

答案 1 :(得分:0)

首先,我建议在telerik:TreeListBoundColumn元素上设置 Display =“false”属性,而不是Visible =“false”。我相信这可能是罪魁祸首。

其次,您是否尝试过使用getColumnByUniqueName()客户端函数:

var treeList = $find("<%= rtlRshItems.ClientID %>");
var ftcPrevious = treeList.getColumnByUniqueName("FtcPrevious");