我的get_selectedItems()函数有问题。
我使用RadGrid中的Telerik。强大的控件,但是现在我偶然发现了一个我无法解决的错误。

选择行时,我调用客户端上的RowSelectionChanged函数,然后我会得到一个异常(exception)。

谁能告诉我为什么sender.get_selectedItems()[0]至少为1时sender.get_selectedItems().length为null?

<telerik:RadCodeBlock runat="server" ID="RadCodeBlock1">
    <script type="text/javascript">

            function RowSelectionChanged(sender, eventArgs) {
            if (sender != null) {
                for (i = 0; i < sender.get_selectedItems().length; i++) {
                    var it = sender.get_selectedItems()[i];     // it is null
                            var element =it.get_element();  // throws exception
                    }
                }
            }
    </script>

</telerik:RadCodeBlock>

<telerik:RadGrid ID="rgTest" runat="server" >
    <MasterTableView>
        <Columns>
            <telerik:GridClientSelectColumn UniqueName="ClientSelectColumn"  />
            <telerik:GridBoundColumn DataField="guid" />
        </Columns>
    </MasterTableView>
        <ClientSettings EnableRowHoverStyle="true">
        <ClientEvents OnRowSelected="RowSelectionChanged" />
        <Selecting AllowRowSelect="true" />
    </ClientSettings>
</telerik:RadGrid>

最佳答案

不应在RadGrid对象上调用get_selectedItems()函数,而应在MasterTableView对象上调用。

该代码对我有用:

<telerik:RadCodeBlock runat="server" ID="RadCodeBlock1">
    <script type="text/javascript">

        function RowSelectionChanged(sender, eventArgs) {
            if (sender != null) {
                var masterTable = sender.get_masterTableView();
                for (i = 0; i < masterTable.get_selectedItems().length; i++) {
                    var it = masterTable.get_selectedItems()[i];
                    var element =it.get_element();
                }
            }
        }

    </script>
</telerik:RadCodeBlock>

关于javascript - RadGrid上的get_selectedItems()[0]返回null,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8296735/

10-11 17:59