• C++ Builder XE RzCheckTree1的树形显示用法


     /*-------------------------------------
              创建属性项
    -------------------------------------*/
    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;
        }
    }

    //清空数据选择

    void __fastcall TForm1::RzButton1Click(TObject *Sender)
    {
    //全选
    for(int i=0;iItems->Count;i++)
    {
        RzCheckTree1->ItemState[i]=csUnchecked;

    }
    }

    //全选数据选择

    void __fastcall TForm1::RzButton2Click(TObject *Sender)
    {
    //全选
    for(int i=0;iItems->Count;i++)
    {
        RzCheckTree1->ItemState[i]=csChecked;

    }
    }

  • 相关阅读:
    【论文下饭】A Systematic Survey on Deep Generative Models for Graph Generation
    SS-Model【3】:DeepLabv2
    二叉查找树的综合应用
    pytest + yaml 框架 -56. 输出日志优化+allure报告优化
    springcloudalibaba架构(21):MQ的简介
    成电少年学fpga培训就业班怎么样
    接口自动化测试 —— 工具、请求与响应
    从 VLAN 到 IPVLAN: 聊聊虚拟网络设备及其在云原生中的应用
    细聊init进程和Linux系统启动流程
    jmeter的性能测试
  • 原文地址:https://blog.csdn.net/lzksword/article/details/127952421