Hi,
I can suggest this way.
Example
<%@ Page Language="C#" %>
<%@ Register Assembly="Ext.Net" Namespace="Ext.Net" TagPrefix="ext" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>Ext.Net Example</title>
<ext:ResourcePlaceHolder runat="server" Mode="ScriptFiles" />
<script type="text/javascript">
Ext.tree.TreeNodeUI.prototype.onSelectedChange = Ext.tree.TreeNodeUI.prototype.onSelectedChange.createSequence(function (state) {
this.locked = true;
this.toggleCheck(state);
this.locked = false;
});
Ext.tree.TreeNodeUI.prototype.onCheckChange = Ext.tree.TreeNodeUI.prototype.onCheckChange.createSequence(function () {
if (!this.locked) {
var checked = this.checkbox.checked;
this.node.getOwnerTree().selModel[checked ? "select" : "unselect"](this.node, null, true);
}
});
</script>
</head>
<body>
<form runat="server">
<ext:ResourceManager runat="server" />
<ext:TreePanel ID="TreePanel1" runat="server" AutoHeight="true">
<Root>
<ext:TreeNode Text="Root (level 0)" Expanded="true">
<Nodes>
<ext:TreeNode Text="Node1 (level 1)" Expanded="true">
<Nodes>
<ext:TreeNode Text="Node1 (level 2)" Expanded="true">
<Nodes>
<ext:TreeNode Text="Node1 (level 3)" />
<ext:TreeNode Text="Node2 (level 3)" />
</Nodes>
</ext:TreeNode>
</Nodes>
</ext:TreeNode>
<ext:TreeNode Text="Node2 (level 1)" Expanded="true">
<Nodes>
<ext:TreeNode Text="Node1 (level 2)" Expanded="true">
<Nodes>
<ext:TreeNode Text="Node1 (level 3)" />
<ext:TreeNode Text="Node2 (level 3)" />
</Nodes>
</ext:TreeNode>
</Nodes>
</ext:TreeNode>
</Nodes>
</ext:TreeNode>
</Root>
<Listeners>
<BeforeAppend Handler="node.attributes.checked = false;" />
</Listeners>
<SelectionModel>
<ext:MultiSelectionModel runat="server" />
</SelectionModel>
</ext:TreePanel>
</form>
</body>
</html>