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.

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;
Saygılarımla
Muharrem ARMAN

Muharrem ARMAN


