2012-03-01 69 views
0

我想獲得一個隱藏控件的值的價值,這是一個的TreeList的TreeListBoundColumnTelerik的ASP.NET AJAX:如何獲得數據綁定列,客戶端

<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

它可能會更容易地利用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()爲有效的函數調用。根據需要調整您的版本。

+0

爲什麼Telerik文檔中沒有顯示'get_dataKeyValue()'屬性? – 2012-03-01 21:21:27

+0

它是。你必須查看'TreeListDataItem'來找到它。 'getItem()'函數返回一個'TreeListDataItem'對象,但文檔沒有說明這一點。 http://www.telerik.com/help/aspnet-ajax/treelist-dataitem-class-members.html Telerik Javascript(他們稱爲客戶端)文檔通常很難遵循,通常不會很好的例子。 – 2012-03-01 21:38:00

0

首先,我建議設置顯示=「假」在Telerik的屬性:TreeListBoundColumn元素,而不是可見=「假」。我相信這可能是罪魁禍首。

其次,有()您嘗試使用getColumnByUniqueName客戶端功能:

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