![]() |
|
bind visually ? - Baskı Önizleme +- Delphi Can (https://www.delphican.com) +-- Forum: Delphi (https://www.delphican.com/forumdisplay.php?fid=3) +--- Forum: Mobil Platform - FireMonkey (FMX) (https://www.delphican.com/forumdisplay.php?fid=7) +--- Konu Başlığı: bind visually ? (/showthread.php?tid=2716) |
bind visually ? - Mr.Developer - 07-10-2018 iyi günler, bileşenlerin ( listbox vs. ) bind visually kısmındaki eşleştirmeleri kod ile nasıl yapabilirim ? ![]() bind visually kısmında bu işlemleri yaptıktan sonra mobil de test ederken ; ilk açılışta aynısı gibi görünmekte fakat başka forma geçip tekrar dönüldüğünde sadece item_text kısmı görünmekte. bu sorunu nasıl çözebilirim ? kod ile yapmak geldi aklıma ama bulamadım. bind visually ? - mrmarman - 07-10-2018 Sizin için bütünüyle manuel / program içinden yapılmış bir BindingDB örneği hazırladım. Forma sadece (1) tane TListView bırakın o kadar. Mesaj ekindeki MSAccess veritabanını da indirip, EXE klasöründe DATA isimli bir klasör açıp içine atın. ![]() Uses Data.Bind.EngExt, Fmx.Bind.Editors, Fmx.Bind.DBEngExt; Var xBindSourceDB : TBindSourceDB; xBindingsList : TBindingsList; xLinkListControlToField : TLinkListControlToField; xAdoConnection : TAdoConnection; xDataSource : TDataSource; xAdoQuery : TAdoQuery; procedure TForm1.FormCreate(Sender: TObject); Const xADO = 'Provider=Microsoft.Jet.OLEDB.4.0;' + 'Data Source=%s;' + 'Mode=Share Deny None;' + 'Persist Security Info=False;' + 'Jet OLEDB:Database Password=%s;' ; Var strData : String; begin strData := ExcludeTrailingPathDelimiter( ExtractFilePath(ParamStr(0)) ) + '\DATA\filmdb.mdb'; xAdoConnection := TAdoConnection.Create(nil); With xADOConnection do begin Connected := False; LoginPrompt := False; ConnectionString := Format( xAdo, [ strData, '' ] ); end; xDataSource := TDataSource.Create(nil); xAdoQuery := TAdoQuery.Create(nil); xDataSource.DataSet := xADOQuery; With xADOQuery do begin Connection := xADOConnection; SQL.Text := 'SELECT * FROM Movies'; Active := True; end; if not Assigned( xBindSourceDB ) then xBindSourceDB := TBindSourceDB.Create(nil); With xBindSourceDB do begin DataSet := xDataSource.DataSet; DataSource.Enabled := True; DataSet.Active := True; end; if not Assigned( xBindingsList ) then xBindingsList := TBindingsList.Create( xBindSourceDB ); if not Assigned( xLinkListControlToField ) then xLinkListControlToField := TLinkListControlToField.Create( xBindingsList ); ListView1.ItemAppearance.ItemAppearance := 'Custom'; ListView1.ItemAppearanceObjects.ItemObjects.Detail.Visible := True; With xLinkListControlToField do begin Control := ListView1; DataSource := xBindSourceDB; Active := True; FillExpressions.Clear; with FillExpressions.AddExpression do begin SourceMemberName := 'M_Name'; ControlMemberName := 'Text'; ListView1.ItemAppearanceObjects.ItemObjects.Text.PlaceOffset.Y := -10; end; with FillExpressions.AddExpression do begin SourceMemberName := 'M_Year'; ControlMemberName := 'Detail'; ListView1.ItemAppearanceObjects.ItemObjects.Detail.PlaceOffset.Y := +10; end; end; end; procedure TForm1.FormDestroy(Sender: TObject); begin if Assigned(xLinkListControlToField) then begin xLinkListControlToField.Active := False; xLinkListControlToField.Free; end; if Assigned(xBindingsList) then xBindingsList.Free; if Assigned(xBindSourceDB) then xBindSourceDB.Free; xAdoQuery.Active := False; xAdoConnection.Connected := False; xDataSource.DataSet := nil; xDataSource.Free; xAdoQuery.Free; end; Cvp: bind visually ? - Mr.Developer - 08-10-2018 (07-10-2018, Saat: 20:31)mrmarman Adlı Kullanıcıdan Alıntı: Sizin için bütünüyle manuel / program içinden yapılmış bir BindingDB örneği hazırladım. çok teşekkür ederim hocam elinize sağlık. MySQL bağlantısı için için kullanmam gerekiyor ama alacağım yeteri kadar kod vermişssiniz bunun için minnettarım ( 1 gün sonra yazdığım için kusruma bakmayın giremedim işlerden dolayı ) |