Delphi XE2의 FireMonkey 시작(22) - 데이터 바인딩: BindingSource, BindingName, Find Binding(), Binding[]
1703 단어 Delphi
procedure TForm1.FormCreate(Sender: TObject);
begin
Edit1.BindingSource := TrackBar1; // TrackBar1 Edit1
Label1.BindingSource := TrackBar1; // TrackBar1 Label1
end;
{ , Edit1.Text Label1.Text TrackBar1.Value }
서로 다른 유형 값의 소통은 FM 구성 요소의 새로운 데이터 속성에 의존해야 한다고 생각합니다.Variant 유형입니다.
procedure TForm1.Button1Click(Sender: TObject);
begin
ShowMessage(TrackBar1.Data); //TrackBar1.Data <- TrackBar1.Value
ShowMessage(Label1.Data); //Label1.Data <- Label1.Text
ShowMessage(Edit1.Text); //Edit1.Data <- Edit1.Text
end;
일부 컨트롤에는 BindingSource 속성 (예: TButton, Tpanel) 이 없습니다. 왜냐하면 필요하지 않기 때문입니다. (단, 전용 귀속 컨트롤을 사용할 때 가능합니다.)두 컨트롤이 서로 데이터 원본이 되면 서로 데이터를 교환할 수 있다.
procedure TForm1.FormCreate(Sender: TObject);
begin
Edit1.BindingSource := Edit2;
Edit2.BindingSource := Edit1;
end;
BindingSource 속성이 있는 컨트롤에 BindingName을 지정하는 경우...:
procedure TForm1.Button1Click(Sender: TObject);
begin
Edit1.BindingName := 'bn1'; //
{ FindBinding() }
ShowMessage(Self.FindBinding('bn1').ClassName);
ShowMessage(TEdit(FindBinding('bn1')).Text);
{ Bingding[] Data }
Self.Binding['bn1'] := 'NewText';
ShowMessage(Self.Binding['bn1']); //NewText
end;
XE2의 귀속 기능(FM뿐만 아니라)은 내가 생각했던 것보다 훨씬 강력하다. 그리고 TBindings List, TBindings Scope, TBind Scope DB, TBind Navigator...
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 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에 따라 라이센스가 부여됩니다.