Mar 20, 2014, 7:35 AM
Remove node in treepanel and add new node.
Hi guys.
I has a problem, I create a TreePanel and add dynamic Note in code-behind.
When i click a button, Datatable is use to create node changes, i want to remove old RootNode and add new RootNode. But it isn't change.
So, I don't know why TreePanel don't change when datatable change.
Could you help me?
Please give me some advise.
Here is my code.
Thank before.
I has a problem, I create a TreePanel and add dynamic Note in code-behind.
When i click a button, Datatable is use to create node changes, i want to remove old RootNode and add new RootNode. But it isn't change.
So, I don't know why TreePanel don't change when datatable change.
Could you help me?
Please give me some advise.
Here is my code.
<ext:TreePanel ID="tree2" runat="server" Layout="VBoxLayout" Region="Center" AutoScroll="true"
RootVisible="false" SingleExpand="true" UseArrows="true" Margin="0" Padding="0">
<Listeners>
<ItemAppend Buffer="30" />
<ItemCollapse Buffer="30" />
<CheckChange Fn="onCheckChange" />
</Listeners>
</ext:TreePanel>
private void fn_CreateNodeDepartment(string ID)
{
if (!b_UserAccessData.fn_GetAllData((ID == "" ? Guid.NewGuid() : new Guid(ID))))
{
Globals.fn_Show_Error_Info(1, "Lỗi lấy dữ liệu ph?ng ban<br/>" + b_UserAccessData.mn_Error);
this.fn_SetHiddenButton(0);
return;
}
DataTable dt = new DataTable();
dt = b_UserAccessData.mn_Table;
System.Data.DataView dv = new System.Data.DataView(dt);
dv.RowFilter = "ParentID is null";
Node NodeRoot = new Node() { NodeID = "root" };
foreach (DataRowView row in dv)
{
Node node = new Node()
{
NodeID = row["DepartmentID"].ToString(),
Text = row["DepartmentName"].ToString(),
Checked = Convert.ToBoolean(row["Check"])
};
node.Expanded = true;
node.Icon = Icon.House;
addNode(node, dt);
NodeRoot.Children.Add(node);
}
tree2.Root.Add(NodeRoot);
}
Have a nice day.Thank before.