
1、从数据库取数据,List<Item>,Item 有自己的ID和ParentID(上一级ID)
2、BindData()递归解析List<Item>,生成树,第一层的ParentID 为空,第二、三。。。层的都有ParentID
3、删除不用说了,直接数据库删掉。添加只要生成新的ID然后制定ParentID就行了,插入数据库。
4、TreeView.Clear()在重新从数据库读取List<Item>,List<Item>
注:可以在TreeNode.Tag 存放 ID值,具体实现看你自己了
void Listview::OnStart(void){ setlist()
CListCtrl&theCtrl=GetListCtrl()
theCtrl.DeleteAllItems()
}
void Listview::setlist(void)
{
CListCtrl&m_list=GetListCtrl()//在这里开始有问题,编译能通过,但是列表没有显示asdfasfa
m_list.InsertItem(0,_T("01"))
m_list.SetItemText(0,1,_T("asdfasfa"))
}
SetList函数里面有GetListCtrl,这个和OnStart函数里调用的GetListCtrl反回的是同一个ListCtrl对象的引用,虽然两个名字不一样,但是实际是代表的同一个对象。由于调用了SetList后,又调用了DeleteAllItem,把刚添加的项删除了,因此没有显示。我想你调用的GetListCtrl调用错了,你再检查下,要获取两个不同的ListCtrl怎么可能用同样的函数。。。
具体的实现是当我鼠标移入“长袖”这个分类时,出现三个icon (如图),按“增加”按钮,会发送ajax异步请求到后台,在数据库库中增加以“长袖”为父类id 的一个子分类,成功后返回到前台,然后相应的节点下动态添加子节点欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)