Menu

UITableView and Frames

NetGuy
2015-10-09
2015-10-19
  • NetGuy

    NetGuy - 2015-10-09

    Dears,

    How I can clear all data in the UItableview a long with its frames?

    Before populating an existing table with frames I execute this but it doesn't work as the frames are not disposed.

    ContactDetails.ClearAll;
    ContactDetails.RefreshNeeded;

    Thanks for your support

     

    Last edit: NetGuy 2015-10-09
  • NetGuy

    NetGuy - 2015-10-09

    to clarify,

    I have a contact/detail app. each time a user select a name i show him the details in uitableview. each row in the detail table have different frame that I created as needed and depends on the name choosen.
    the issue seems that for the first name choosen i will get perfect result but going back and then choose and show another name (after clearing the table) thing gets wrong and frames get scrambled in the rows in no specific order with old data not removed. (i.e. row #3 becomes in row 2 and old information is not removed).

    • in onApplyFrameData event i still get the frame variable not nil.

    • disposing all the frames one by one didn't even work

     
  • Chris

    Chris - 2015-10-10

    Hi
    As there is not much of support for ths set of components, i think it is better to use TMS components or Delphi TListView instead (I dont like Delphi TListView as i have to hard code each position of the labels in the tablerow) but seems like i have no choice.
    I really like how DPF TableView uses frames as the labels are pre-defined in the frame. TListView does not use this concept and had to hard code in the codes.

    just my few cents of advise

    thanks
    chris

     
  • Graham

    Graham - 2015-10-10

    Hi Chris,

    I am a user of DPF and have also donated to Babak but development seems to have slowed down. I still use the non-visual components, but decided to write my own FMX ListView until the DPF components were stable again.

    It's free with source and demo. you can find it here...
    https://github.com/gmurt/KernowSoftwareFMX

    It also includes my SlideMenu component

    Lots of enhancements over the standard TListView.

    Dmo on the app store...
    https://itunes.apple.com/gb/app/kscomponents-reference/id1031179701?mt=8

    Lots of info and update notifications on Twitter here @ksComponents

    Like I said, I still use quite a bit of functionality from DPF and Babak has done a fantastic job so I hope all of the problems are resolved soon.

    Kind regards,
    Graham

     
  • NetGuy

    NetGuy - 2015-10-10

    Dears,

    DPF components is working fine with me after rev #1306 on both 32 and 64-bit version. the issue is i don't know how to dispose the frames and update the table again.

    Any help please?

     
  • NetGuy

    NetGuy - 2015-10-18

    OK, a SOLUTION.

    after some debugging in DPFUITableView I found that if I set onNeedCellIdentifier and assigned CellIdentifier things will work. here is how I set it:

    procedure TMainForm.ContactDetailsNeedCellIdentifier(Sender: TObject; Section,
    RowNo: Integer; var CellIdentifier: string);
    begin
    CellIdentifier := Section.ToString + RowNo.ToString;
    end;

    However, i am not sure if there is a memory leak or not as i am not disposing anything.

    I hope this will help others.

    More details on DPFUItableView.pas

    on this line #2316

    CellIdentifier := 'DPF.iOS.Tablview.Cell.' + CellStyleName[TableItem.Style] + '.' + CellIdentifier;
    Res            := tableView.dequeueReusableCellWithIdentifier( NSStr( CellIdentifier ) );
    

    It seems Res returns Non-Nil value even though the cell frame is not yet created. the returned frame is for cell[0,0] which is not correct. but strangly, when CellIdentifier is not set only cell[3,4] and cell[3,7] is afftected other cells gets the right frame.

    I hope i can get comments from the developers on is my approach correct or not

    Good luck on your apps

     

    Last edit: NetGuy 2015-10-18
  • Babak Yaghoobi

    Babak Yaghoobi - 2015-10-19

    Hi NetGuy

    Thats right,

     

Log in to post a comment.

Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.