我的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/