Telerik Grid - получить мастер-идентификатор в подробном представлении

У меня есть сетка master/detail, в которую я вставляю как основной, так и подробный вид. Когда я нахожусь в подробном режиме, мне нужно получить значение основного идентификатора, но я не могу получить значение.

Сначала я получаю inserteditem в InsertCommand:

Dim inserteditem As GridDataInsertItem = DirectCast(e.Item, GridDataInsertItem)

И затем я получаю экземпляр родительского (главного) представления:

Dim parenttable As GridTableView = inserteditem.OwnerTableView.ParentItem.OwnerTableView

Однако я просто не могу добраться до значения главного ключа. Кто-нибудь знает, что мне делать?


person JonnyBravoJr    schedule 05.07.2013    source источник


Ответы (1)


Пожалуйста, попробуйте с приведенным ниже фрагментом кода.

.ASPX

    <MasterTableView CommandItemDisplay="Top" DataKeyNames="ID" Name="parent">
        <DetailTables>
            <telerik:GridTableView Name="Child" DataKeyNames="Name">
            </telerik:GridTableView>
        </DetailTables>
        <Columns>
           ........
           ........
        </Columns>
    </MasterTableView>

.ASPX.VB

Protected Sub RadGrid1_InsertCommand(sender As Object, e As GridCommandEventArgs)
If e.Item.OwnerTableView.Name = "Child" Then
    Dim item As GridDataInsertItem = TryCast(e.Item, GridDataInsertItem)
    Dim pitem As GridDataItem = TryCast(item.OwnerTableView.ParentItem, GridDataItem)
        ' Parent Item DataKey Here
    Dim strID As String = pitem.GetDataKeyValue("ID").ToString()
End If
End Sub
person Jayesh Goyani    schedule 06.07.2013