1

radgrid在双击时填充了数据我启动了一个 rad 窗口管理器texbox,需要用radgrid. 我无法获得该行的值。我只能获取所选项目的索引。

这是我的网格 aspx:

<telerik:RadGrid ID="rgBuscar" runat="server" CellSpacing="0" Culture="es-ES"
GridLines="None" Height="469px" Skin="Hay" Width="944px">
<ClientSettings>
    <Scrolling AllowScroll="True" UseStaticHeaders="True" />
</ClientSettings>
<MasterTableView>
    <CommandItemSettings ExportToPdfText="Export to PDF"></CommandItemSettings>
    <RowIndicatorColumn Visible="True" FilterControlAltText="Filter RowIndicator column">
         <HeaderStyle Width="20px"></HeaderStyle>
    </RowIndicatorColumn>
    <ExpandCollapseColumn Visible="True" FilterControlAltText="Filter ExpandColumn column">
    <HeaderStyle Width="20px"></HeaderStyle>
    </ExpandCollapseColumn>
    <EditFormSettings>
    <EditColumn FilterControlAltText="Filter EditCommandColumn column"></EditColumn>
    </EditFormSettings>
    <PagerStyle PageSizeControlType="RadComboBox"></PagerStyle>
</MasterTableView>
<ClientSettings>
    <Selecting AllowRowSelect="True" />
    <ClientEvents OnRowDblClick="RowDblClick"/>
</ClientSettings>
<PagerStyle PageSizeControlType="RadComboBox"></PagerStyle>
<FilterMenu EnableImageSprites="False"></FilterMenu>

和我的 JS:

<telerik:RadCodeBlock ID="RadCodeBlock1" runat="server">

<script type="text/javascript">
    function RowDblClick(sender, args) {
        var index = args.get_itemIndexHierarchical();
        sender.get_masterTableView().fireCommand("RowDblClick", index);
    }
</script>

最后是我的 VB:

Protected Sub rgBuscar_ItemCommand(ByVal sender As Object, ByVal e As Telerik.Web.UI.GridCommandEventArgs) Handles rgBuscar.ItemCommand
    If e.CommandName = "RowDblClick" Then
        Dim var As String = e.CommandArgument
        idValor = e.Item.Cells(2).Text
        MostrarVentana(idValor)
    End If     
End Sub

Public Sub MostrarVentana(ByVal IdCampo As Integer)
    lector = objBd.obtenerConfiguraciones("Cambio Ordenes")
    While lector.Read
        rwmCambio.Windows(0).NavigateUrl = lector("OCON_Url") & "?IdCampo=" & IdCampo
        rwmCambio.Windows(0).Width = Unit.Pixel(lector("OCON_Width"))
        rwmCambio.Windows(0).Height = Unit.Pixel(lector("OCON_Height"))
    End While
    rwmCambio.Windows(0).VisibleOnPageLoad = True
End Sub
4

1 回答 1

2

Telerik 为 提供了丰富的 API ,通过为 的(或者如果您想使用客户端 API 而不是回发)属性RadGrid分配值,您可以通过代码访问与项目相关的数据;要将多列添加到数据键集合,请使用逗号分隔列名。DataKeyValuesClientDataKeyNamesMasterTableView

示例数据键定义:

<MasterTableView  DataKeyNames="idColumnName,foreignKeyColumnName" ClientDataKeyNames="idColumnName,anotherColumnName">

示例OnRowSelected事件客户端 (JavaScript) 事件处理程序:

function OnGridRowSelected(sender, args) {
    var idDataKey = args.getDataKeyValue("idColumnName");
    var nameDataKey = args.getDataKeyValue("idColumnName");
    document.getElementById("myElement").value = "(" + idDataKey + ") " + nameDataKey;
}

示例ItemCommand事件服务器端 (VB) 事件处理程序:

Protected Sub PerformActionOnGridItem(sender As Object, e As Telerik.Web.UI.GridCommandEventArgs) Handles grdCustomerAccountInvoiceSummary.ItemCommand
    If (TypeOf (e.Item) Is Telerik.Web.UI.GridDataItem) Then
        Dim item As Telerik.Web.UI.GridDataItem = CType(e.Item, Telerik.Web.UI.GridDataItem)
        Select Case e.CommandName
            Case "RowDblClick"
                ' Insert required code here 
                ...
                ' Example: Set session variable to data key value
                Session("idColumnName") = item.GetDataKeyValue("idColumnName")
        End Select
    End If
End Sub
于 2013-11-14T16:47:05.847 回答