C++ Builder XE RzCheckTree1的树形显示用法
创始人
2024-04-10 15:12:43
0

/*-------------------------------------
          创建属性项
-------------------------------------*/
void __fastcall TMainForm::ItemsCreate()
{
//创建新组
TTreeNode *RootA,*RootB,*RootC,*RootD;
RootA=RzCheckTree1->Items->Add(NULL,"A-常用指标");
RootB=RzCheckTree1->Items->Add(NULL,"B-和数指标");
RootC=RzCheckTree1->Items->Add(NULL,"C-号码特征指标");
RootD=RzCheckTree1->Items->Add(NULL,"D-个数统计指标");

    // ADO连接
    TADOConnection *con = new TADOConnection(NULL);
    TADOQuery *aq = new TADOQuery(NULL);

    try
    {
        if (con->Connected)
            con->Connected = false;

        // 连接该MDB数据库
//        con->ConnectionString = AnsiString().sprintf(
//                TEXT("Provider=Microsoft.Jet.OLEDB.4.0;")
//                TEXT("Data Source=%s;")
//                TEXT("Persist Security Info=False;Password='19821718l'"),
//                strMdbFile.c_str());
        try
        {
        AnsiString s;
        con->ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Password="+
        QuotedStr(s)+";User ID=Admin;Data Source="+strMdbFile+
        ";Mode=Share Deny None;Persist Security Info=True;Jet OLEDB:Database Password="+Dec("771866F50B9BABB42A")+
        ";Jet OLEDB:Engine Type=5;Jet OLEDB:Global Partial Bulk Ops=2;Jet OLEDB:Global Bulk Transactions=1;Jet OLEDB:Create System Database=False;Jet OLEDB:Encrypt Database=False;Jet OLEDB:Don't Copy Locale on Compact=False;Jet OLEDB:Compact Without Replica Repair=False;Jet OLEDB:SFP=False";

            //这个可以关闭database login提示对话框
            //con->LoginPrompt=false;
        con->Connected = true;
        }
        catch(...)
        {
            ::MessageBox(0, TEXT("打开数据库失败!"),
                    TEXT("警告"), MB_OK | MB_ICONWARNING);
        }

        // 如果连接成功,就通过ADOQuery读取字段
        if (con->Connected)
        {
            AnsiString SQLtxt="select * from sxindex order by sxid";
            aq->Connection = con;

            aq->Close();
            aq->SQL->Clear();
            aq->SQL->Text = AnsiString().sprintf(
                    TEXT("%s"),
                    SQLtxt);

            try
            {
                aq->Open();
                for (int i = 0; i < aq->RecordCount; i++)
                {
                  if(aq->FieldByName("SXkind")->AsString =="A")
                  {
                     RzCheckTree1->Items->AddChild(RootA,aq->FieldByName("SXid")->AsString+" ● "+aq->FieldByName("SXname")->AsString);
                    // Form7->RzCheckTree1->Items->AddChild(RootA,aq->FieldByName("SXid")->AsString+" ● "+aq->FieldByName("SXname")->AsString);

                  }
                  else if(aq->FieldByName("SXkind")->AsString =="B")
                  {
                     RzCheckTree1->Items->AddChild(RootB,aq->FieldByName("SXid")->AsString+" ● "+aq->FieldByName("SXname")->AsString);
                  }

                  else if(aq->FieldByName("SXkind")->AsString =="C")
                  {
                     RzCheckTree1->Items->AddChild(RootC,aq->FieldByName("SXid")->AsString+" ● "+aq->FieldByName("SXname")->AsString);
                  }
                  else if(aq->FieldByName("SXkind")->AsString =="D")
                  {
                     RzCheckTree1->Items->AddChild(RootD,aq->FieldByName("SXid")->AsString+" ● "+aq->FieldByName("SXname")->AsString);
                  }
                  //SXlist->Items->Append(aq->FieldByName("SXtz")->AsString);
                  aq->Next();
                }
                //RootA->Collapse(false);
            }
            catch(...)
            {
                //bSucceed = false;
                ::MessageBox(0, TEXT("打开表时发生错误!"),
                        TEXT("警告"), MB_OK | MB_ICONWARNING);
            }
        }

    }
    __finally
    {
        delete aq;
        delete con;
    }
}

相关内容

热门资讯

【PdgCntEditor】解... 一、问题背景 大部分的图书对应的PDF,目录中的页码并非PDF中直接索引的页码...
监控摄像头接入GB28181平... 流程简介将监控摄像头的视频在网站和APP中直播,要解决的几个问题是:1&...
在Word、WPS中插入AxM... 引言 我最近需要写一些文章,在排版时发现AxMath插入的公式竟然会导致行间距异常&#...
protocol buffer... 目录 目录 什么是protocol buffer 1.protobuf 1.1安装  1.2使用...
修复 爱普生 EPSON L4... L4151 L4153 L4156 L4158 L4163 L4165 L4166 L4168 L4...
Windows10添加群晖磁盘... 在使用群晖NAS时,我们需要通过本地映射的方式把NAS映射成本地的一块磁盘使用。 通过...
Fluent中创建监测点 1 概述某些仿真问题,需要创建监测点,用于获取空间定点的数据࿰...
ChatGPT 怎么用最新详细... ChatGPT 以其强大的信息整合和对话能力惊艳了全球,在自然语言处理上面表现出了惊人...
educoder数据结构与算法...                                                   ...
MySQL下载和安装(Wind... 前言:刚换了一台电脑,里面所有东西都需要重新配置,习惯了所...