anchor.diff:    { Composite mediator for TfpgStringGrid }
     TtiStringGridMediatorView = class(TtiCustomListMediatorView)
     private
  -    procedure   DoCreateItemMediator(AData: TtiObject; ARowIdx: integer); override;
  +    function    DoCreateItemMediator(AData: TtiObject; ARowIdx: integer): TtiListItemMediator; override;
       procedure   DoDeleteItemMediator(AIndex: Integer; AMediator: TtiListItemMediator); override;
     protected
       function    GetSelectedObject: TtiObject; override;
  
positive.code:   end;  { for }
  end;
  
  procedure TtiStringGridMediatorView.DoCreateItemMediator(AData: TtiObject; ARowIdx: integer);
  var
    i: integer;
    lFieldName: string;
    lMediatorView: TtiStringGridRowMediator;
  begin
    View.BeginUpdate;
    try
  
negative.code:   Result := GetObjectFromItem(View.Items.Item[View.ItemIndex]);
  end;
  
  function TtiListViewMediatorView.DoCreateItemMediator(AData: TtiObject; ARowIdx: integer): TtiListItemMediator;
  var
    li: TfpgLVItem;
  begin
    DataAndPropertyValid(AData);
    { Create ListItem and Mediator }
  