2

当我进行更新时,我到底如何找到 DataKey?我什么都试过了...

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。

4

1 回答 1

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 的文档,如果您使用InPlace编辑模式,您应该将其TreeListEditableItem转换为TreeListDataItem; 如果您使用的是EditForms,则应将其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>
于 2011-05-18T03:10:00.847 回答