首页 > 其他分享 >DELPHI TSCTreeView的基本应用与FireDAC读取EXCEL文件数据设置

DELPHI TSCTreeView的基本应用与FireDAC读取EXCEL文件数据设置

时间:2023-09-06 21:11:29浏览次数:36  
标签:物料 TSCTreeView FireDAC Items DELPHI EXCEL 即时 scTreeView1 核算

本例需要读取excel中的数据,然后动态的添加到TSCTreeView控件当中 .

最终效果如下图:

 核心代码如下:

procedure TForm1.FormCreate(Sender: TObject);
var
  n: Integer;
  t: TTreeNode;
  I: Integer;
begin
  n := FDQuery1.RecordCount;
  if n > 0 then
  begin
    scTreeView1.Items.BeginUpdate;   //加快显示速度  ,这种语句是成对出现的,记得END
    t := scTreeView1.Items.AddFirst(nil, '全部');//添加根节点
    for I := 0 to n - 1 do
    begin
      scTreeView1.Items.AddChild(t, FDQuery1.FieldByName('名称').AsString);
      FDQuery1.Next;
    end;
    scTreeView1.Items.EndUpdate; //  END
  end;
end;

 顺便讲一下FireDAC连接EXCEL文件的设置

 

上面驱动设置那里,如果看不到后面的内容,可以把列拉宽:

 然后使用向导设置(强烈建议)

 

选择一个EXCEL文件后点确定.然后点测试.弹出登录窗口时,如果你的EXCEL没有设置密码,直接点确定就行,不用管它.有密码的自己看着办.

连接成功后,使用FQuery控件取数据.SQL语句的格式是:  seletc * from [sheet名称$]  .注意,表名后面要加"$"符号.也可以像数据库一下多表联查(仅限此工作簿内的工作表),比如:

select 
[核算项目-物料$].代码 as 物料代码  ,
[核算项目-物料$].名称,
[核算项目-物料$].助记码,
[核算项目-物料$].规格型号,
iif(isnull([即时库存$].F9),0,[即时库存$].F9) as 参考数量,
[即时库存$].备注
From
[核算项目-物料$] left join  [即时库存$] on    [核算项目-物料$].代码=  [即时库存$].物料代码
WHERE LEN( [核算项目-物料$].代码 )>3

上面这段SQL,使用到了两个工作表,一个是  [核算项目-物料] 一个是 [即时库存]

 

标签:物料,TSCTreeView,FireDAC,Items,DELPHI,EXCEL,即时,scTreeView1,核算
From: https://www.cnblogs.com/yoooos/p/17679338.html

相关文章

  • delphi FireDAC 批量执行命令(批量插入、更新、删除)
    FireDAC批量执行命令(批量插入、更新、删除)代码批量插入procedureTForm1.Button1Click(Sender:TObject);varI:Integer;begin//建立连接FDConnection1.Connected:=True;//开启事务FDConnection1.StartTransaction;try//设置语句FDCommand1.C......
  • 在Delphi上位机软件中 增加采集卡工作状态输出成日志的功能
    TApdComPort控件实现了串口的通信控件有Logging属性决定了当前的日志状态QDACQLog可以生成日志一:日志发送到远程syslog服务器:varAWriter:=TQLogSocketWriter.Create;AWriter.ServerHost:=127.0.0.1;//远程服务器地址AWriter.ServerPort:=514; //远程服务器端......
  • delphi FastReport 保存和加载已准备的报表
    FastReport保存和加载已准备的报表属性和方法TfrxReport.PreviewPagespropertyPreviewPages:TfrxCustomPreviewPages;指向已完成报表的当前页面的链接。它用于与完成的报表相关的所有操作(打印、保存、导出等)。TfrxCustomPreviewPages.LoadFromFilefunctionLoadFromFile......
  • CEF4Delphi(DELPHI Google Chrome 浏览器封装) 折腾 (2)--打开一个网页
      打开网页的,折腾了好久,试运行DEMO,就行,把DELPHI的代码抄过来,就是不行,然后把自己弄的控件名称搞的与DEMO一样,属性全对一样了,还是不行,郁闷很久后,才发现工程文件里面还要加代码。 我的工程名为:OpenChrome 选中工程文件后按CTRL+V,然后做以下修改:下面红色的代码是CEF4中需要......
  • CEF4Delphi(DELPHI Google Chrome 浏览器封装) 折腾 (1)--安装
    1、下载:https://github.com/salvadordf/CEF4Delphi/tree/master2、安装包:CEF4Delphi-master\packages目录中,如果不行,全部包都编译一下。3、下载运行环境:地址到 https://github.com/salvadordf/CEF4Delphi/tree/master中能查的到 Windows32bitsWindows64bitsLinux......
  • Delphi XE UniGUI ExtJS [7] Delhi 动态添加 ClientEvents.ExtEvents 事件
    UniButton1.ClientEvents.ExtEvents.Values['click']:='function(sender){alert("Click")}';UniEdit1.ClientEvents.ExtEvents.Values['change']:='function(sender,newValue){UniForms.UniEdit2.setValue(newValue)}';Un......
  • DELPHI 文件自动备份工具源码分享
    一.工具界面如下(没做UI) 二.设计视图如下: 三.控件说明:1.使用到了第三方StyleControl控件中的SCGPLabel,SCGPEdit,SCGPCheckBox,SCGPCombobox,SCGPButton,这几个控件如果需要,可替换成秕自带控件.难度-12.TrayIcon这个是让程序缩小到托盘上面去的.3.Pop......
  • Delphi获取文件创建时间、文件最后修改时间
    procedureTForm1.Button1Click(Sender:TObject);//获取文件创建时间varFileName:string;ti:Integer;dt:TDateTime;beginFileName:='D:\test\Test.txt';ti:=FileAge(FileName);ShowMessage(IntToStr(ti));//返回:1030115371,需要转换dt:=F......
  • delphi FastReport 预览设置
    FastReport预览设置属性和方法TfrxPreviewOptions.AllowEditpropertyAllowEdit:Boolean;启用或禁用已完成的报表编辑。默认值为True。TfrxPreviewOptions.AllowPreviewEditpropertyAllowPreviewEdit:Boolean;在报表预览中启用就地编辑器。允许用户在没有报告报表设......
  • delphi泛型实现的变体记录
    delphi泛型实现的变体记录typeTRes=record//公共的JSON回复status:Integer;message:string;exception:string;end;TData<T:record>=recorddata:arrayofT;end;TDatas<T:record>=recordres:TRes;......