Telerik RadGrid On Row Selected Events,all done event for multiple selection?

Telerik RadGrid On Row Selected Events,all done event for multiple selection?,telerik,telerik-grid,Telerik,Telerik Grid,我有一个启用了多重选择的RadGrid: <telerik:RadGrid runat="server" ID="RadGrid1" AutoGenerateColumns="false" AllowMultiRowSelection="true"> <MasterTableView TableLayout="Fixed"> <Columns> <telerik:GridBoundColumn DataFi

我有一个启用了多重选择的RadGrid:

<telerik:RadGrid runat="server" ID="RadGrid1" AutoGenerateColumns="false" AllowMultiRowSelection="true">
    <MasterTableView TableLayout="Fixed">
        <Columns>
            <telerik:GridBoundColumn DataField="Dialog" HeaderText="Dialog" DataType="System.String" />
        </Columns>
    </MasterTableView>
    <ClientSettings EnableRowHoverStyle="true">
        <Selecting AllowRowSelect="True" />
        <ClientEvents OnRowSelected="RowSelected"/>
    </ClientSettings>
</telerik:RadGrid>

和OnRowSelected事件为每个选定行触发。选择10行时,事件将触发10次。很简单


我的问题是,我可以听什么样的事件来知道何时选择了所有要选择的行(作为多次选择的结果)?我需要用所选行的ID发出post请求,我认为让10个post请求发出不是一个好主意。我可以查询网格以获得所选行,我只需要知道何时执行;理想情况下,不涉及超时的事情。我一定忽略了这方面的一个事件。

这里的技巧实际上是如何确定用户何时“停止”选择。如果通过按住shift键并单击完成多项选择,然后单击“确定”,则有很多项要处理,但是如果有相同数量的项(10),并且用户按住ctrl键并单击其中的每一项,该怎么办?它很容易变得有点过于复杂。不幸的是,RadGrid中没有一个事件可以在多重选择操作完成选择所有行后订阅该触发器


您在这里的最佳选择可能是使用一个外部按钮或类似的东西来触发此帖子,然后使用RadGrid的SelectedItems集合,因为这将允许更多的批处理方法,而不是每行都出现帖子。

得到了一些处理超时的方法:

var rowSelectedTimeout;

function RowSelected(rowObject) {
    if (window.rowSelectedTimeout) {
        // If selecting multiple rows, clear the previous row's rowSelectedTimeout
        window.clearTimeout(window.rowSelectedTimeout);
    }

    rowSelectedTimeout = window.setTimeout(function () {
        window.rowSelectedTimeout = null;

        alert('rows selected');
    }, 10);
}

谢谢@Carl B。有很多假设,但我认为Telerik的RadGrid足够复杂,可以解释这一点。在按住Shift键单击的情况下,理想情况下,它应该是一个事件,并让参数给出一个选定行的数组。或者有一个额外的事件,OnShift ClickCompleted。也许我可以点击点击事件。嗯……没有这样的运气。有一个RowClick事件,但我需要向上单击,而不是向下单击,因为它似乎可以工作。