当前位置:首页
开发技术指南» 文章正文
    引言:
 

 

    摘要: 1:我装了xpmenu组件,效果是有的.但是在run时候, 出现dimlevel 不存在.大家怎么解决的?? 2:我感觉这个xp的颜色不好看,怎么修改一下它的背景色?????? 谢谢大家噢.呵呵 ......
 ·怪题,来看看    »显示摘要«
    摘要: 有m,n两个数,范围在2~99之间,告诉a m*n的值,告诉b m+n的值,a对b说,我不知道m,n分别是什么,b说我知道你不知道,然后a说我知道了,接着b说我也知道了。问m,n分别是什么? ......


一个关于TREEVIEW的数据库问题在线等

我想做一个TREEVIEW,其中的节点要从数据库里读取。例如这样一个节点:  
  +a  
    -ab  
    -ac  
  +b  
    -bb  
    -bc  
  +c  
    -cb  
    -ca  
   
  数据库里有两张表分别存储父节点a、b、c  
  另一张存储   -ab  
                      -ac  
  ……  
  现在出现一点问题,希望能帮我写出上面例子的代码。在线等……分全送!!!!!!

NO.1   作者: dtfly

在存放子节点的表中增加一个标识符来对应其父节点。  
  dbstr   =   "select   *   from   子表"  
  Myrec   =   Mydb.OpenRecordset(dbstr,   DAO.RecordsetTypeEnum.dbOpenDynaset)  
  Myrec.MoveFirst()  
                  While   Myrec.EOF   =   False  
                          Select   Case   myrec.fields(0).tostring  
                            case   "+a"  
                                x=myrec.fields(1).tostring       -ab  
                                y=myrec.fields(2).tostring       -ac  
                            case   "+b"  
                          .....  
                            case   "+c"  
                            .....  
  然后再输出myrec.fields(0).tostring,x,y

NO.2   作者: junwhj

Table1和Table2是一对多的关系,Table2通过NodeId字段和Table1关联  
  表结构:     Table1:   NodeID,NodeCaption  
                    Table2:   NodeID,SubNodeCaption  
   
  Private   Sub   Command1_Click()  
          Dim   cn   As   New   ADODB.Connection  
          Dim   rs   As   New   ADODB.Recordset,   rs1   As   New   ADODB.Recordset  
          Dim   nd   As   Node  
          Dim   i   As   Single  
          Dim   strKey   As   String  
           
          TreeView1.Nodes.Clear  
           
          cn.ConnectionString   =   "Driver={SQL   Server};Server=Develop;Uid=sa;Pwd=;Database=Test"  
          cn.Open  
   
          Set   rs   =   cn.Execute("select   NodeID,NodeCaption   from   table1   order   by   NodeID")  
          Do   While   Not   rs.EOF  
                  父节点  
                  i   =   i   +   1  
                  strKey   =   "N"   &   i  
                  Set   Node   =   TreeView1.Nodes.Add(,   ,   strKey,   rs("NodeCaption").Value)  
                   
                  子节点  
                  Set   rs1   =   cn.Execute("select   SubNodeCaption   from   table2   "   &   _  
                                                            "where   NodeID="   &   rs("NodeID").Value   &   "   "   &   _  
                                                            "order   by   SubNodeCaption")  
                  Do   While   Not   rs1.EOF  
                          Set   Node   =   TreeView1.Nodes.Add(strKey,   tvwChild,   ,   rs1("SubNodeCaption").Value)  
                          rs1.MoveNext  
                  Loop  
                  rs1.Close  
                   
                  TreeView1.Nodes(strKey).Expanded   =   True  
                  rs.MoveNext  
          Loop  
           
          rs.Close  
          cn.Close  
           
          Set   rs   =   Nothing  
          Set   rs1   =   Nothing  
          Set   cn   =   Nothing  
  End   Sub  
 

NO.3   作者: hope2002

E-Mail:hope781220@sina.com.cn

NO.4   作者: _1_

比如有个表会计的科目代码的  
   
  1       资产类  
  11     现金  
  111   人民币  
  112   美金  
  113   欧元  
  12     银行  
  2       ......  
  21       .....  
  22       .....  
   
  .............  
   
  TreeView1.Nodes.Clear  
  Dim   Mnode   As   Node,   RootLen%  
  Dim   r   As   New   ADODB.Recordset  
    r.Open   "select   *   from   kjkm   order   by   kmdm",   Cn  
   
  If   Not   r.EOF   Then  
          RootLen   =   Len(Trim(r!kmdm))  
  End   If  
   
          If   Len(Trim(r!kmdm))   =   RootLen   Then  
                  Set   Mnode   =   TreeView1.Nodes.Add()  
   
                  Mnode.Text   =   Trim(r!kmdm)   &   Space(2)   &   Trim(r!kmmc)  
                  Mnode.Key   =   "R"   &   Trim(r!kmdm)  
                  Mnode.Image   =   3  
                  Mnode.ExpandedImage   =   1  
   
          Else  
                  On   Error   Resume   Next  
                  Err   =   0  
                  Set   Mnode   =   TreeView1.Nodes.Add("R"   &   Left(Trim(r!kmdm),   Len(r!kmdm)   -   1),   4)  
                  If   Err   Then  
                          Set   Mnode   =   TreeView1.Nodes.Add("R"   &   Left(Trim(r!kmdm),   Len(r!kmdm)   -   2),   4)  
                  End   If  
                  On   Error   GoTo   0  
                  Mnode.Text   =   Trim(r!kmdm)   &   Space(2)   &   Trim(r!kmmc)  
                  Mnode.Key   =   "R"   &   Trim(r!kmdm)  
                  Mnode.Image   =   3  
                  Mnode.ExpandedImage   =   1  
                  mNode.Selected   =   True  
                  On   Error   Resume   Next  
                  Err   =   0  
                  TreeView1.Nodes("R"   &   Left(Trim(r!kmdm),   Len(r!kmdm)   -   1)).Image   =   2  
                  If   Err   Then  
                          TreeView1.Nodes("R"   &   Left(Trim(r!kmdm),   Len(r!kmdm)   -   2)).Image   =   2  
                  End   If  
                  On   Error   GoTo   0  
          End   If  
  。。。。。。

NO.5   作者: davidwx

同意_1_(www.jinesc.com)   。  
  建议用一张表来实现  
  利用TreeView.Nodes.Add   relative,   relationship,   Key,   Text,   Image,   SelectedImage这句语句的参数来建表结构  
   
 

NO.6   作者: _1_

ACCESS又怎么了???   我那代码在ACCESS下运行没有发现有不对的地方???  
   
  象这个简单的东西用ACCESS和SQL   SERVER不也是一样的吗?

NO.7   作者: remanwang

回复junwhj:  
  你的代码效率太低,可以这样修改:  
  Set   rs   =   cn.Execute("select   NodeID,NodeCaption   from   table1   order   by   NodeID")  
  Do   While   Not   rs.EOF  
                  父节点  
                  strKey   =   "N"   &   rs("Nodeid").Value  
                  TreeView1.Nodes.Add(,   ,   strKey,   rs("NodeCaption").Value)  
                  rs.MoveNext  
  Loop  
  Set   rs1   =   cn.Execute("select   NodeID,SubNodeCaption   from   table2   order   by   SubNodeCaption")  
  Do   While   Not   rs1.EOF  
      i   =   i   +   1  
      TreeView1.Nodes.Add("N"   &   rs("Nodeid").Value,   tvwChild,"SubN"   &   rs("Nodeid").Value   &   i   ,   rs1("SubNodeCaption").Value)  
      rs1.MoveNext  
  Loop  
  rs1.Close


    摘要: 请问delphi 有跟vb的picturebox功能相似的控件吗? ......
» 本期热门文章:

©2000-2007 All Rights Reserved. 最佳浏览:1024X768 MSIE