Delphi XE2의 FireMonkey 시작(31) - 데이터 바인딩: 데이터베이스 바인딩
3859 단어 Delphi
먼저 창에 컨트롤을 놓습니다.
DataSource1 : TDataSource;
ClientDataSet1 : TClientDataSet;
Label1 : TLabel;
Edit1 : TEdit;
Memo1 : TMemo;
ImageControl1 : TImageControl;
BindNavigator1 : TBindNavigator;
{ , }
BindingsList1 : TBindingsList;
BindScopeDB1 : TBindScopeDB;
DBLinkLabel1SpeciesNo1 : TBindDBTextLink;
DBLinkEdit1Category1 : TBindDBEditLink;
DBLinkMemo1Notes1 : TBindDBMemoLink;
DBLinkImageControl1Graphic1 : TBindDBImageLink;
테스트는 정부에서 제공한 테스트 데이터biolife를 사용합니다.xml(또는biolife.cds)의 경로는 보통 C:\Program Files\Common Files\CodeGear Shared\Data\biolife입니다.xml연결 단계:
1、 DataSource1 DataSet ClientDataSet1;
2、 ClientDataSet FileName 'C:\Program Files\Common Files\CodeGear Shared\Data\biolife.xml';
3、 biolife.xml :
Label1 -> -> Link To DB Field... -> Species No ( )
Edit1 -> -> Link To DB Field... -> CateGory (string)
Memo1 -> -> Link To DB Field... -> Notes (Text)
ImageControl -> -> Link To DB Field... -> Graphic (Graphics)
4、 BindNavigator1 BindScope BindScopeDB1;
5、 ClientDataSet1 Active True.
2. 런타임 연결:먼저 창에 컨트롤을 배치합니다(다른 것은 런타임 시 완료).
DataSource1 : TDataSource;
ClientDataSet1 : TClientDataSet;
Label1 : TLabel;
Edit1 : TEdit;
Memo1 : TMemo;
ImageControl1 : TImageControl;
BindNavigator1 : TBindNavigator;
BindingsList1 : TBindingsList;
BindScopeDB1 : TBindScopeDB;
디자인할 때와 동일한 코드:
procedure TForm1.FormCreate(Sender: TObject);
begin
ClientDataSet1.FileName := 'C:\Program Files\Common Files\CodeGear Shared\Data\biolife.xml';
DataSource1.DataSet := ClientDataSet1;
BindScopeDB1.DataSource := DataSource1;
BindNavigator1.BindScope := BindScopeDB1;
with TBindDBTextLink.Create(BindingsList1) do
begin
ControlComponent := Label1;
DataSource := BindScopeDB1;
FieldName := 'Species No';
end;
with TBindDBEditLink.Create(BindingsList1) do
begin
ControlComponent := Edit1;
DataSource := BindScopeDB1;
FieldName := 'Category';
end;
with TBindDBMemoLink.Create(BindingsList1) do
begin
ControlComponent := Memo1;
DataSource := BindScopeDB1;
FieldName := 'Notes';
end;
with TBindDBImageLink.Create(BindingsList1) do
begin
ControlComponent := ImageControl1;
DataSource := BindScopeDB1;
FieldName := 'Graphic';
end;
ClientDataSet1.Active := True;
end;
TstringGrid에 바인딩하려면 StringGrid 1 -> Link to DB DataSource...->BindScopeDB1다음은 런타임 시 TstringGrid에 바인딩된 코드입니다.
uses Fmx.Bind.Editors, Data.Bind.DBLinks, Fmx.Bind.DBLinks;
procedure TForm1.FormCreate(Sender: TObject);
begin
ClientDataSet1.FileName := 'C:\Program Files\Common Files\CodeGear Shared\Data\biolife.xml';
DataSource1.DataSet := ClientDataSet1;
BindScopeDB1.DataSource := DataSource1;
BindNavigator1.BindScope := BindScopeDB1;
ClientDataSet1.Active := True;
with TBindDBGridLink.Create(BindingsList1) do // TBindGridLink
begin
GridControl := StringGrid1;
DataSource := BindScopeDB1;
Active := True;
end;
end;
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
[Delphi] TStringBuilder그리고 꼭 사용해야만 할까? 그림처럼 Heap 영역에 "Hello" 공간을 생성하고 포인팅을 한다. "Hello World" 공간을 새로 생성한 후 포인팅을 하게 된다. 결국 "Hello" 라는 String 객체가 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.