我的get_selectedItems()
功能有问题。
我使用RadGrid
中的Telerik
。很好的控制,但现在我偶然发现了一个我无法解决的错误。
选择行时,我会在客户端调用RowSelectionChanged
函数,然后我会得到一个例外。
有人可以告诉我为什么sender.get_selectedItems()[0]
为空而sender.get_selectedItems().length
至少为1?
<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>
答案 0 :(得分:6)
函数get_selectedItems()
不应该在RadGrid对象上调用,而是在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>