2012-03-05 30 views
0

我試圖讓我的弧度樹列表中的客戶端的數據鍵值,但它總是返回null:Telerik的RadTreeList:GetDataKeyValues返回null

private List<xItems> GetTreeListChanges() 
{ 
    List<xItems> xItems = new List<xItems>(); 
    foreach(TreeListDataItem rtlItem in rtlxItems.Items) 
    { 
     string xItemsId = Convert.ToString(rtlItem.GetDataKeyValue("xItemsId")); 
    } 
    [...] 
} 

這裏是標記代碼,在我的數據的關鍵是良好定義:

<telerik:RadTreeList ID="rtlxItems" runat="server" AllowMultiItemEdit="false" 
     ParentDataKeyNames="ParentId" DataKeyNames="ChlidId" ClientDataKeyNames="xItemsId"> 

回答

1

的XItemsId只是一個客戶方datakey,你應該改變使用childID的的getDataKey(你也有在的DataKeyNames聲明一個錯字

private List<xItems> GetTreeListChanges() 
{ 
    List<xItems> xItems = new List<xItems>(); 
    foreach(TreeListDataItem rtlItem in rtlxItems.Items) 
    { 
     string xItemsId = Convert.ToString(rtlItem.GetDataKeyValue("ChildId")); 
    } 
    [...] 
} 

<telerik:RadTreeList ID="rtlxItems" runat="server" AllowMultiItemEdit="false" 
     ParentDataKeyNames="ParentId" DataKeyNames="ChildId" ClientDataKeyNames="xItemsId"> 
+0

我收到以下異常:'KeyNames集合的長度必須與ParentKeyNames集合長度匹配。' – 2012-03-05 15:59:45

+0

從頭開始,當我在'ParentDataKeyNames'和'DataKeyNames'屬性中有多於1個關鍵字時,我總是得到這個錯誤。 – 2012-03-05 16:03:04

+0

我還沒有看到允許爲樹列表指定多個dataKeyName的文檔,其他控件允許使用逗號分隔的列表。您的parentId和xItemsId或Child ID需要具有相同的字段類型,就是這樣。因此,使用xItemsId作爲該項目的datakeyname,或使用childID並更改此代碼以使用childId:rtlItem.GetDataKeyValue(「childID」) – 2012-03-05 16:09:59