May 14, 2013, 11:16 PM
Can't refresh TreeGrid
Hello, I have some code about TreeGrid
But my tree not refresh and firefox show error "TypeError: node is null"
<script type="text/javascript">
function nodeLoad(node) {
Ext.net.DirectMethods.NodeLoad(node.id, {
success: function (result) {
var data = eval("(" + result + ")");
node.loadNodes(data);
},
failure: function (errorMsg) {
Ext.Msg.alert('Failure', errorMsg);
}
});
}
var RemoveItemOnGrid = function () {
Ext.Msg.confirm('Confirm', 'Do you want to delete ?', function (btn) {
if (btn == "yes") {
if (hdfRecordID.getValue() == "") {
alert('You do not select record');
return false;
}
try {
grid.getRowEditor().stopEditing();
}
catch (e) {
}
var id = hdfRecordID.getValue().toString();
Ext.net.DirectMethods.DeleteNode(id);
TreeGrid1.getRootNode().reload();
return true;
}
});
}
</script>
<ext:Hidden runat="server" ID="hdfRecordID" />
<ext:TreeGrid ID="TreeGrid1" runat="server" StripeRows="true" TrackMouseOver="true"
AnchorHorizontal="100%" NoLeafIcon="true" AutoExpandColumn="NAME" EnableDD="true" Border="false">
<TopBar>
<ext:Toolbar runat="server" ID="Toolbar1">
<Items>
<ext:Button ID="btnAdd" runat="server" Text="Addi" Icon="Add">
<Listeners>
<Click Handler="#{wdAddWindow}.show();" />
</Listeners>
</ext:Button>
<ext:Button ID="btnEdit" runat="server" Disabled="true" Text="Edit" Icon="Pencil">
<Listeners>
<Click Handler="#{wdAddWindow}.show();" />
</Listeners>
<DirectEvents>
<Click OnEvent="btnEdit_Click" />
</DirectEvents>
</ext:Button>
<ext:Button ID="btnDelete" runat="server" Text="Delete" Disabled="true" Icon="Delete">
<Listeners>
<Click Handler="RemoveItemOnGrid();" />
</Listeners>
</ext:Button>
<ext:ToolbarSeparator ID="ToolbarSeparator1" runat="server" />
</Items>
</ext:Toolbar>
</TopBar>
<Columns>
<ext:TreeGridColumn Header="PR_KEY" Width="150" DataIndex="PR_KEY" />
<ext:TreeGridColumn Header="NAME" Width="150" DataIndex="NAME" />
<ext:TreeGridColumn Header="NOTES" Width="150" DataIndex="NOTES" />
</Columns>
<Root>
<ext:AsyncTreeNode NodeID="0" Text="Root" />
</Root>
<SelectionModel>
<ext:DefaultSelectionModel runat="server" ID="DefaultSelectionModel1">
<Listeners>
<SelectionChange Handler="#{hdfRecordID}.setValue(node.id); " />
</Listeners>
</ext:DefaultSelectionModel>
</SelectionModel>
<Listeners>
<BeforeLoad Fn="nodeLoad" />
<DblClick Handler="#{wdAddWindow}.show();" />
</Listeners>
<DirectEvents>
<DblClick OnEvent="btnEdit_Click">
<EventMask ShowMask="true" Msg="Please wait..." />
</DblClick>
</DirectEvents>
</ext:TreeGrid>
When I select a record and click Delete button, I use TreeGrid1.getRootNode().reload();
to refresh tree.But my tree not refresh and firefox show error "TypeError: node is null"