RadGrid Doubleclick

Eri*_*ric 2 .net c# asp.net radgrid visual-studio-2008

我想在doubleclick上激活radgrid的服务器端selectedindexchanged方法而不是点击.是否有可能做到这一点???

<telerik:RadGrid ID="RadGridCashier" runat="server" AllowMultiRowSelection="False" DataSourceID="SqlDataSourceCashier" Skin="WebBlue" AutoGenerateColumns="false" AllowFilteringByColumn="true"
             AllowPaging="True" AllowSorting="true" GroupingSettings-CaseSensitive="false" OnDataBound="RadGridCashier_DataBound" OnSelectedIndexChanged="RadGridCashier_SelectedIndexChanged" >
                <MasterTableView DataKeyNames="rouse_location,operator_no"   >
                    <Columns>
                       //columns go here
                    </Columns>                        
                </MasterTableView>

                 <ClientSettings EnableRowHoverStyle="true" EnablePostBackOnRowClick="true">
                    <Selecting AllowRowSelect="True" EnableDragToSelectRows="true" />
                     <ClientEvents OnRowDblClick="RowDblClick" />
                </ClientSettings>

            </telerik:RadGrid>


        function RowDblClick(sender, eventArgs) {
        Row= eventArgs.get_itemIndexHierarchical();
       // here is where i want to fire off selectedindexchanged somehow.

    }
Run Code Online (Sandbox Code Playgroud)

是否有可能做到这一点?要在doubleclick上回发还是有替代方案?

Rob*_*bot 5

看起来enablePostBackOnRowClick属性与您的clientEvent冲突.在RowDblClick js函数中,您可以通过调用RadAjaxManager并将commandArgument包含到ajaxRequest()方法来执行ajax调用,例如:

$find("<%= RadAjaxManager1.ClientID %>").ajaxRequest("SelectedIndexChanged");
Run Code Online (Sandbox Code Playgroud)

然后在代码后面,处理RadAjaxManager AjaxRequest事件:

protected void RadAjaxManager1_AjaxRequest(object sender, Telerik.Web.UI.AjaxRequestEventArgs e)
{
    if (e.Argument == "SelectedIndexChanged")
    {
        //Do Something
    }
}
Run Code Online (Sandbox Code Playgroud)