您的位置:首页 > 其它

Silverlight Treeview 相关操作:加载,保存,索引节点,节点移动,模板节点

2009-03-14 08:42 465 查看
最近一个Silverlight项目中,需要多处表达展示内容的“父子”关系。自然用“树”来表达自然是再好不过。Ms Toolkit中包含了TreeView控件,很好的满足了需求。

要表述树状关系,数据库的设计一定要合理,不然这层关系在加载的时候就会很痛苦。另外,根据需求,树状节点的展示还要有一定的顺序,所以一棵树在保存的时候,每个节点在树中的位置也要有所记录。

数据库设计

Code

ObservableCollection<PDMInfo> PDMInfos = new ObservableCollection<PDMInfo>();

int m = 0;

PDMInfo info = new PDMInfo();

for (int i = 0; i < tvshow.Nodes.Count; i++) //phase

{

Node phase = tvshow.Nodes[i] as Node;

m = m + 1;

int PhaseID = Convert.ToInt32(phase.Tag);

info = new PDMInfo()

{

ID = PhaseID,

IDX = m

};

PDMInfos.Add(info);

for (int j = 0; j < phase.Nodes.Count; j++)

{

Node task = phase.Nodes[j] as Node;

m = m + 1;

int TaskID = Convert.ToInt32(task.Tag);

info = new PDMInfo()

{

ID = TaskID,

IDX = m

};

PDMInfos.Add(info);

for (int n = 0; n < task.Nodes.Count; n++)

{

Node item = task.Nodes
as Node;

m = m + 1;

int ItemID = Convert.ToInt32(item.Tag);

info = new PDMInfo()

{

ID = ItemID,

IDX = m

};

PDMInfos.Add(info);

}

}

}

client.UpdatePDMInfoToDBCompleted += new EventHandler<System.ComponentModel.AsyncCompletedEventArgs>(client_UpdatePDMInfoToDBCompleted);

client.UpdatePDMInfoToDBAsync(PDMInfos);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐