-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathHCustomerSetPage.pas
119 lines (109 loc) · 3.92 KB
/
HCustomerSetPage.pas
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
{*******************************************************}
{ }
{ HimsSoft }
{ }
{ °æȨËùÓÐ (C) 2019 [email protected] }
{ }
{*******************************************************}
unit HCustomerSetPage;
interface
uses
System.SysUtils,
System.Classes,
Vcl.Controls, Vcl.Forms, HBasePage, Data.DB,
Datasnap.DBClient,
cxButtons, Vcl.ExtCtrls,
DBGridEh, cxGraphics, cxLookAndFeels, cxLookAndFeelPainters, Vcl.Menus,
dxSkinsCore, dxSkinBlack, dxSkinBlue, dxSkinBlueprint, dxSkinCaramel,
dxSkinCoffee, dxSkinDarkroom, dxSkinDarkSide, dxSkinDevExpressDarkStyle,
dxSkinDevExpressStyle, dxSkinFoggy, dxSkinGlassOceans, dxSkinHighContrast,
dxSkiniMaginary, dxSkinLilian, dxSkinLiquidSky, dxSkinLondonLiquidSky,
dxSkinMcSkin, dxSkinMetropolis, dxSkinMetropolisDark, dxSkinMoneyTwins,
dxSkinOffice2007Black, dxSkinOffice2007Blue, dxSkinOffice2007Green,
dxSkinOffice2007Pink, dxSkinOffice2007Silver, dxSkinOffice2010Black,
dxSkinOffice2010Blue, dxSkinOffice2010Silver, dxSkinOffice2013DarkGray,
dxSkinOffice2013LightGray, dxSkinOffice2013White, dxSkinOffice2016Colorful,
dxSkinOffice2016Dark, dxSkinPumpkin, dxSkinSeven, dxSkinSevenClassic,
dxSkinSharp, dxSkinSharpPlus, dxSkinSilver, dxSkinSpringtime, dxSkinStardust,
dxSkinSummer2008, dxSkinTheAsphaltWorld, dxSkinTheBezier,
dxSkinsDefaultPainters, dxSkinValentine, dxSkinVisualStudio2013Blue,
dxSkinVisualStudio2013Dark, dxSkinVisualStudio2013Light, dxSkinVS2010,
dxSkinWhiteprint, dxSkinXmas2008Blue, DBGridEhGrouping, ToolCtrlsEh,
DBGridEhToolCtrls, DynVarsEh, EhLibVCL, GridsEh, DBAxisGridsEh, Vcl.StdCtrls;
type
TCustomerSetPage = class(TBasePage)
Panel1: TPanel;
saveBtn: TcxButton;
cancelBtn: TcxButton;
DBGridEh1: TDBGridEh;
ClientDataSet1: TClientDataSet;
DataSource1: TDataSource;
ClientDataSet1MCustId: TStringField;
ClientDataSet1MCustName: TStringField;
ClientDataSet1isValid: TBooleanField;
procedure FormCreate(Sender: TObject);
procedure cancelBtnClick(Sender: TObject);
procedure saveBtnClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
CustomerSetPage: TCustomerSetPage;
implementation
uses HDBManager,superobject;
{$R *.dfm}
procedure TCustomerSetPage.FormCreate(Sender: TObject);
var
jsonData: ISuperObject;
subData: ISuperObject;
begin
ClientDataSet1.CreateDataSet;
jsonData := TDBManager.Instance.getDataBySql('Select C.MCustId,C.MCustName,C.isValid From H_CustomerInfo C Order By C.MCustId');
with ClientDataSet1 do
begin
if jsonData.I['rowCount'] > 0 then
begin
for subData in jsonData['data'] do
begin
Append;
ClientDataSet1.FieldByName('MCustId').AsString := subData.S['MCustId'];
ClientDataSet1.FieldByName('MCustName').AsString := subData['MCustName'].AsString;
ClientDataSet1.FieldByName('isValid').AsBoolean := not (subData['isValid'].AsInteger = 0);
Post;
end;
end;
end;
if ClientDataSet1.Active = False then
begin
ClientDataSet1.Open;
end;
end;
procedure TCustomerSetPage.saveBtnClick(Sender: TObject);
var
sql:string;
sqlList:TStringList;
begin
sqlList := TStringList.Create;
sqlList.Add('Delete from H_CustomerInfo');
with ClientDataSet1 do
begin
DisableControls;
First;
while not Eof do
begin
sql := Format('Insert Into H_CustomerInfo (MCustId,MCustName,isValid) Values (%s,%S,%d)',
[QuotedStr(FieldByName('MCustId').AsString),QuotedStr(FieldByName('MCustName').AsString),ord(FieldByName('isValid').AsBoolean)]);
sqlList.Add(sql);
Next;
end;
end;
TDBManager.Instance.execSql(sqlList);
end;
procedure TCustomerSetPage.cancelBtnClick(Sender: TObject);
begin
inherited;
//
end;
end.