📄 jctreemanager.pas
字号:
unit jcTreeManager;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ToolWin, ComCtrls, ExtCtrls, StdCtrls, Buttons, Grids, DBGrids,
DB, DBCtrls, ImgList;
type
TForm6 = class(TForm)
StatusBar1: TStatusBar;
GroupBox1: TGroupBox;
PageControl1: TPageControl;
TabSheet1: TTabSheet;
TabSheet2: TTabSheet;
TabSheet3: TTabSheet;
TabSheet4: TTabSheet;
RadioButton1: TRadioButton;
RadioButton2: TRadioButton;
BitBtn1: TBitBtn;
GroupBox2: TGroupBox;
Image1: TImage;
GroupBox4: TGroupBox;
Label1: TLabel;
Image2: TImage;
Label2: TLabel;
GroupBox3: TGroupBox;
GroupBox5: TGroupBox;
Image3: TImage;
Label3: TLabel;
GroupBox6: TGroupBox;
RadioButton5: TRadioButton;
RadioButton6: TRadioButton;
GroupBox7: TGroupBox;
BitBtn3: TBitBtn;
RadioButton7: TRadioButton;
DataSource1: TDataSource;
DBGrid1: TDBGrid;
DBNavigator1: TDBNavigator;
Image4: TImage;
Label4: TLabel;
GroupBox8: TGroupBox;
GroupBox9: TGroupBox;
DataSource2: TDataSource;
DBLookupComboBox1: TDBLookupComboBox;
DataSource3: TDataSource;
DBGrid2: TDBGrid;
DBNavigator2: TDBNavigator;
DataSource4: TDataSource;
TabSheet5: TTabSheet;
TreeView1: TTreeView;
DBGrid3: TDBGrid;
Label5: TLabel;
ImageList1: TImageList;
Button1: TButton;
procedure FormCreate(Sender: TObject);
procedure DBNavigator2Click(Sender: TObject; Button: TNavigateBtn);
procedure DBGrid3DblClick(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure TabSheet5Enter(Sender: TObject);
procedure TreeView1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form6: TForm6;
implementation
uses dataModel, Unit8;
{$R *.dfm}
function addTreeNode(tree:TTreeView;T:TTreeNOde;CPID:string):TTreeNode;
var c,s:string;
TNode:TTreeNode;
begin
DataModule1.ADOQuery6.Close;
DataModule1.ADOQuery6.Parameters[0].Value := CPID;
DataModule1.ADOQuery6.Open;
if DataModule1.ADOQuery6.RecordCount <=0 then
begin
result:= nil;
exit;
end;
DataModule1.ADOQuery6.First;
while not DataModule1.ADOQuery6.Eof do
begin
s := DataModule1.ADOQuery6.FieldValues['id'];
c:= DataModule1.ADOQuery6.FieldValues['title'];
TNode := tree.Items.AddChild(t,c) ;
addTreeNode(tree,TNode,s);
DataModule1.ADOQuery6.Next;
end;
end;
procedure TForm6.FormCreate(Sender: TObject);
var node1,node2 : TTreeNode;
begin
//node1:=self.TreeView1.Items.Add(nil,'决策树');
//node2 := self.TreeView1.Items.AddChild(node1,'OK');
//addTreeNode(self.TreeView1,node1,'Root');
self.DataSource1.DataSet.Active := true;
self.DataSource2.DataSet.Active := true;
self.DataSource3.DataSet.Active := true;
self.DataSource4.DataSet.Active := true;
end;
procedure TForm6.DBNavigator2Click(Sender: TObject; Button: TNavigateBtn);
var s :string;
begin
if button = nbInsert then
begin
if self.DBLookupComboBox1.KeyValue = null then
application.MessageBox('请选择因素','提示',0)
else
begin
// self.DataSource3.DataSet.Edit;
s:=self.DBLookupComboBox1.KeyValue;
self.DataSource3.DataSet.FieldByName('yinsid').Value := s;
self.DataSource3.DataSet.post;
self.DataSource3.DataSet.Refresh;
end;
end;
end;
procedure TForm6.DBGrid3DblClick(Sender: TObject);
var strid:string;
begin
strid :=self.DataSource4.DataSet.FieldByName('id').Value;
//application.MessageBox(pansichar(strid),'ok',0);
form8:=tform8.Create(self);
form8.ShowModal;
//self.DataSource4.DataSet.Refresh;
end;
procedure TForm6.Button1Click(Sender: TObject);
var strCmd:widestring;
begin
strCmd := 'ALTER TABLE fzdsz ALTER COLUMN id COUNTER (1, 1) ';
DataModule1.ADOCommand2.CommandText := strCmd;
DataModule1.ADOCommand2.Execute;
DataModule1.ADOCommand2.CommandText := '';
strCmd:= 'delete from fzdsz';
DataModule1.ADOCommand2.CommandText := strCmd;
DataModule1.ADOCommand2.Execute;
{strCmd:= 'INSERT INTO fzdsz ( xbcode_codeID, xbcode_codeName, zyfcode_codeID, zyfcode_codeName, bage, eage, yinsubh, yinsuname, bfz, efz ) SELECT xbAndZyAndNlCross.xbCode.CodeID, xbAndZyAndNlCross.xbCode.CodeName, xbAndZyAndNlCross.zyfCode.CodeID, xbAndZyAndNlCross.zyfCode.CodeName, xbAndZyAndNlCross.Bage, xbAndZyAndNlCross.Eage, yinsuFzd.YinSuBH, yinsuFzd.YinSuName, yinsuFzd.Bfz, yinsuFzd.Efz FROM xbAndZyAndNlCross, yinsuFzd;';
DataModule1.ADOCommand2.CommandText := '';
DataModule1.ADOCommand2.CommandText := strCmd;
DataModule1.ADOCommand2.Execute;}
//DataModule1.ADOQuery7.Open;
DataModule1.ADOQuery7.ExecSQL;
self.DataSource4.DataSet.Active := false;
self.DataSource4.DataSet.Active := true;
end;
procedure TForm6.TabSheet5Enter(Sender: TObject);
begin
self.TreeView1.Items[0].Expanded:=true;
self.TreeView1.Items[1].Expanded:=true;
end;
procedure TForm6.TreeView1Click(Sender: TObject);
var tNode :TTreeNode;
begin
self.DataSource4.DataSet.Filtered:=false;
tNode:=self.TreeView1.Selected;
if tnode <>nil then
begin
case tnode.ImageIndex of
0 : //因素
begin
self.DataSource4.DataSet.Filter:='YinSuBH=' + '''' + tnode.Text + ''''
+ ' and zyfCode_CodeName=' + '''' + tnode.Parent.Text + '''' + ' and xbCode_CodeName='
+ '''' + tnode.Parent.Parent.Text + '''';
end;
1 : //性别
begin
self.DataSource4.DataSet.Filter:=' xbCode_CodeName='
+ '''' + tnode.Text + '''';
end;
2 : //根
self.DataSource4.DataSet.Filter:='';
3 : ;
4 : //职业
begin
self.DataSource4.DataSet.Filter:=' zyfCode_CodeName=' + '''' + tnode.Text + '''' + ' and xbCode_CodeName='
+ '''' + tnode.Parent.Text + '''';
end;
end;
self.DataSource4.DataSet.Filtered:=true;
end;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -