2011-05-18 25 views
2

我在更新時如何找到DataKey?我試過一切...如何從RadTreeList UpdateCommand中找到DataKeyValue?

Private Sub rtlAccounts_UpdateCommand(ByVal sender As Object, ByVal e As Telerik.Web.UI.TreeListCommandEventArgs) Handles rtlAccounts.UpdateCommand 
    Dim txtAccountDescription As RadTextBox = TryCast(e.Item.FindControl("txtAccountDescription"), RadTextBox) 
    Dim txtAdminName As RadTextBox = TryCast(e.Item.FindControl("txtAdminName"), RadTextBox) 
    Dim txtAdminEmail As RadTextBox = TryCast(e.Item.FindControl("txtAdminEmail"), RadTextBox) 
    Dim rcbStatus As RadComboBox = TryCast(e.Item.FindControl("rcbStatus"), RadComboBox) 
    Dim rntDocRetention As RadNumericTextBox = TryCast(e.Item.FindControl("rntDocRetention"), RadNumericTextBox) 

    Dim item As TreeListEditableItem = TryCast(e.Item, TreeListEditableItem) 
    Dim MyDataKeyID As String = 'Now what??? 
End Sub 

也想知道如何從InsertCommand和UpdateCommand中找到ParentDataKeyValue。

回答

1

爲了得到DataKeyValue和ParentDataKeyValue,你的最後兩行更改爲以下:

Dim editedItem As TreeListEditFormItem = CType(e.Item, TreeListEditFormItem) 
Dim dataKeyValue As String = _ 
    editedItem.ParentItem.GetDataKeyValue("EmployeeID").ToString() 
Dim parentDataKeyValue As String = _ 
    editedItem.ParentItem.GetParentDataKeyValue("ReportsTo").ToString() 

Telerik's documentation,如果您正在使用就地編輯模式下,你應該投的TreeListEditableItemTreeListDataItem;如果您正在使用編輯表格,則應將TreeListEditableItem轉換爲TreeListEditFormItem

爲了GetDataKeyValue和GetParentDataKeyValue回到你想要的,你必須定義一個RadTreeList時設置它們在各自的DataKeyNames和ParentDataKeyNames值的值:

<telerik:RadTreeList ID="EmployeeTreeList" runat="server" 
    DataKeyNames="EmployeeID" 
    ParentDataKeyNames="ReportsTo"> 
    <Columns> 
     <%-- Add column definitions here --%> 
    </Columns> 
</telerik:RadTreeList> 
+0

我使用TreeListEditableItem所以我就死在看到一個例子並且沒有意識到還有另一種類型我可以把它當作。謝謝!!! – EdenMachine 2011-05-18 12:04:34