Как найти DataKeyValue из команды RadTreeList UpdateCommand?
Как же я могу найти 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
Также хотелось бы узнать, как найти ParentDataKeyValue из InsertCommand и UpdateCommand.
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 возвращали нужные значения, вы должны установить их в соответствующих значениях DataKeyNames и ParentDataKeyNames при определении RadTreeList:
<telerik:RadTreeList ID="EmployeeTreeList" runat="server"
DataKeyNames="EmployeeID"
ParentDataKeyNames="ReportsTo">
<Columns>
<%-- Add column definitions here --%>
</Columns>
</telerik:RadTreeList>