打印

[asp.net教程] asp.net中树形图的实现 2

asp.net中树形图的实现 2

二、增加、删除树节点
   
    单纯在treeview 上增加、删除、修改节点只需用nodes属性的add、 remove、等方法即可,值得注意的地方是vs.net中treeview的nodes集合与vs6.0中的区别,vs6.0中的是一个大的集合,而vs.net中的是分层的每个node下都有nodes属性。增加、删除、修改树节点时与vs6.0相比有很大差别,特别是删除时。
   
  private sub butadd_click(byval sender as system.object, byval e as system.eventargs) handles butadd.click’在选定的节点下添加子节点
  dim tmpnd as new treenode(), ndsel as treenode
  tmpnd.id = getnewid()
  ndsel = treeview1.getnodefromindex(treeview1.selectednodeindex)’选中的节点
  tmpnd.text = "新节点"
  ndsel.nodes.add(tmpnd)
  dim myrow as datarow
  myrow = ds.tables("tree").newrow()
  myrow("node_name") = tmpnd.id
  myrow("node_descript") = "新节点" & tmpnd.id & "_" & ndsel.id
  myrow("parent_name") = ndsel.id
  ds.tables("tree").rows.add(myrow)
  end sub
  private sub butdele_click(byval sender as object, byval e as system.eventargs) handles butdele.click’删除选中的节点
  dim idx as string = treeview1.selectednodeindex()
  getndcol(idx).remove(treeview1.getnodefromindex(idx))
  dim dv as new dataview(), recno as integer
  dv.table = ds.tables("tree")
  dv.rowfilter= "nodeid=" & ndid
  dv.delete(0)
  end sub
  private function getndcol(byval idx as string) as treenodecollection
  ‘获得选中节点的父节点的nodes集合

  dim cnt as integer, i as integer
  dim tmpnds as treenodecollection
  dim idxs() as string
  idxs = split(idx, ".")
  cnt = ubound(idxs)
  if cnt = 0 then
  tmpnds = treeview1.nodes
  else
  tmpnds = treeview1.nodes(cint(idxs(0))).nodes
  for i = 1 to cnt - 1
  tmpnds = tmpnds(cint(idxs(i))).nodes
  next
  end if
  return tmpnds
  end function

TOP

返回顶部
AYBlue

Processed in 0.054462 second(s), 7 queries.

当前时区 GMT+8, 现在时间是 2009-1-10 11:56 京ICP备06054220号

清除 Cookies - 联系我们 - 163K.com - Archiver - WAP