• 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;

    }
    }

  • 相关阅读:
    1.7 信息化发展与应用
    我的创作纪念日
    微信小程序运行机制和生命周期
    Web程序设计-实验05 DOM与BOM编程
    原生XMLHttpRequest发起请求
    55跳跃游戏
    算法通关村第十关黄金挑战——归并排序详解
    健身耳机哪个好,运动最佳的几款耳机推荐
    学嵌入式好还是java好?
    V853 替换开机启动LOGO
  • 原文地址:https://blog.csdn.net/lzksword/article/details/127952421