andyhill Posted October 14, 2017 Share Posted October 14, 2017 I am exploring the Mobile TUnimDBListGrid and looking for suggestions on how to show the extra data. I modify the SQL fetched rowset columns at runtime and will want to add Summary's shortly (I have no problem with Desktop and TUniDBGrid). My code:- for i:= 0 to TAccessListGrid(UnimDBListGrid1).Columns.Count-1 do begin // DepartmentName if UpperCase(TAccessListGrid(UnimDBListGrid1).Columns.FieldName) = UpperCase('DepartmentName') then begin TAccessListGrid(UnimDBListGrid1).Columns.Visible:= True; TAccessListGrid(UnimDBListGrid1).Columns.Width:= 200; us:= TAccessListGrid(UnimDBListGrid1).Columns.Title; us.Caption:= 'Department Name'; us.Alignment:= TAlignment(taLeftJustify); TAccessListGrid(UnimDBListGrid1).Columns.Title:= us; // TAccessListGrid(UnimDBListGrid1).Columns.Sortable:= True; TAccessListGrid(UnimDBListGrid1).Columns.Alignment:= taLeftJustify; end; // ServicedCalls if UpperCase(TAccessListGrid(UnimDBListGrid1).Columns.FieldName) = UpperCase('ServicedCalls') then begin TAccessListGrid(UnimDBListGrid1).Columns.Visible:= True; TAccessListGrid(UnimDBListGrid1).Columns.Width:= 80; us:= TAccessListGrid(UnimDBListGrid1).Columns.Title; us.Caption:= 'S.Calls'; us.Alignment:= TAlignment(taRightJustify); TAccessListGrid(UnimDBListGrid1).Columns.Title:= us; // TAccessListGrid(UnimDBListGrid1).Columns.Sortable:= True; TAccessListGrid(UnimDBListGrid1).Columns.Alignment:= taRightJustify; // TAccessListGrid(UnimDBListGrid1).Columns.ShowSummary:= True; end; // ServicedCallBacks if UpperCase(TAccessListGrid(UnimDBListGrid1).Columns.FieldName) = UpperCase('ServicedCallBacks') then begin TAccessListGrid(UnimDBListGrid1).Columns.Visible:= True; TAccessListGrid(UnimDBListGrid1).Columns.Width:= 80; us:= TAccessListGrid(UnimDBListGrid1).Columns.Title; us.Caption:= 'S.CallBacks'; us.Alignment:= TAlignment(taRightJustify); TAccessListGrid(UnimDBListGrid1).Columns.Title:= us; //TAccessListGrid(UnimDBListGrid1).Columns.Sortable:= True; TAccessListGrid(UnimDBListGrid1).Columns.Alignment:= taRightJustify; // TAccessListGrid(UnimDBListGrid1).Columns.ShowSummary:= True; end; // ServicedAverageWait if UpperCase(TAccessListGrid(UnimDBListGrid1).Columns.FieldName) = UpperCase('ServicedAverageWait') then begin TAccessListGrid(UnimDBListGrid1).Columns.Visible:= True; TAccessListGrid(UnimDBListGrid1).Columns.Width:= 80; us:= TAccessListGrid(UnimDBListGrid1).Columns.Title; us.Caption:= 'S.AvgWait'; us.Alignment:= TAlignment(taRightJustify); TAccessListGrid(UnimDBListGrid1).Columns.Title:= us; //TAccessListGrid(UnimDBListGrid1).Columns.Sortable:= True; TAccessListGrid(UnimDBListGrid1).Columns.Alignment:= taRightJustify; end; // ServicedLongestWait if UpperCase(TAccessListGrid(UnimDBListGrid1).Columns.FieldName) = UpperCase('ServicedLongestWait') then begin TAccessListGrid(UnimDBListGrid1).Columns.Visible:= True; TAccessListGrid(UnimDBListGrid1).Columns.Width:= 80; us:= TAccessListGrid(UnimDBListGrid1).Columns.Title; us.Caption:= 'S.LngWait'; us.Alignment:= TAlignment(taRightJustify); TAccessListGrid(UnimDBListGrid1).Columns.Title:= us; //TAccessListGrid(UnimDBListGrid1).Columns.Sortable:= True; TAccessListGrid(UnimDBListGrid1).Columns.Alignment:= taRightJustify; end; // ServicedAverageTalk if UpperCase(TAccessListGrid(UnimDBListGrid1).Columns.FieldName) = UpperCase('ServicedAverageTalk') then begin TAccessListGrid(UnimDBListGrid1).Columns.Visible:= True; TAccessListGrid(UnimDBListGrid1).Columns.Width:= 80; us:= TAccessListGrid(UnimDBListGrid1).Columns.Title; us.Caption:= 'S.AvgTalk'; us.Alignment:= TAlignment(taRightJustify); TAccessListGrid(UnimDBListGrid1).Columns.Title:= us; //TAccessListGrid(UnimDBListGrid1).Columns.Sortable:= True; TAccessListGrid(UnimDBListGrid1).Columns.Alignment:= taRightJustify; end; // ServicedLongestTalk if UpperCase(TAccessListGrid(UnimDBListGrid1).Columns.FieldName) = UpperCase('ServicedLongestTalk') then begin TAccessListGrid(UnimDBListGrid1).Columns.Visible:= True; TAccessListGrid(UnimDBListGrid1).Columns.Width:= 80; us:= TAccessListGrid(UnimDBListGrid1).Columns.Title; us.Caption:= 'S.LngTalk'; us.Alignment:= TAlignment(taRightJustify); TAccessListGrid(UnimDBListGrid1).Columns.Title:= us; //TAccessListGrid(UnimDBListGrid1).Columns.Sortable:= True; TAccessListGrid(UnimDBListGrid1).Columns.Alignment:= taRightJustify; end; ////////////////////////////////////////////////////////////////////// // AbandonedCalls if UpperCase(TAccessListGrid(UnimDBListGrid1).Columns.FieldName) = UpperCase('AbandonedCalls') then begin TAccessListGrid(UnimDBListGrid1).Columns.Visible:= True; TAccessListGrid(UnimDBListGrid1).Columns.Width:= 80; us:= TAccessListGrid(UnimDBListGrid1).Columns.Title; us.Caption:= 'A.Calls'; us.Alignment:= TAlignment(taRightJustify); TAccessListGrid(UnimDBListGrid1).Columns.Title:= us; TAccessListGrid(UnimDBListGrid1).Columns.Alignment:= taRightJustify; //TAccessListGrid(UnimDBListGrid1).Columns.Sortable:= True; //TAccessListGrid(UnimDBListGrid1).Columns.ShowSummary:= True; end; // AbandonedLongestWait if UpperCase(TAccessListGrid(UnimDBListGrid1).Columns.FieldName) = UpperCase('AbandonedLongestWait') then begin TAccessListGrid(UnimDBListGrid1).Columns.Visible:= True; TAccessListGrid(UnimDBListGrid1).Columns.Width:= 80; us:= TAccessListGrid(UnimDBListGrid1).Columns.Title; us.Caption:= 'A.LngWait'; us.Alignment:= TAlignment(taRightJustify); TAccessListGrid(UnimDBListGrid1).Columns.Title:= us; //TAccessListGrid(UnimDBListGrid1).Columns.Sortable:= True; TAccessListGrid(UnimDBListGrid1).Columns.Alignment:= taRightJustify; end; // AbandonedAverageWait if UpperCase(TAccessListGrid(UnimDBListGrid1).Columns.FieldName) = UpperCase('AbandonedAverageWait') then begin TAccessListGrid(UnimDBListGrid1).Columns.Visible:= True; TAccessListGrid(UnimDBListGrid1).Columns.Width:= 80; us:= TAccessListGrid(UnimDBListGrid1).Columns.Title; us.Caption:= 'A.AvgWait'; us.Alignment:= TAlignment(taRightJustify); TAccessListGrid(UnimDBListGrid1).Columns.Title:= us; //TAccessListGrid(UnimDBListGrid1).Columns.Sortable:= True; TAccessListGrid(UnimDBListGrid1).Columns.Alignment:= taRightJustify; end; // end; // for In the future I would want to test for Tablet and Landscape mode so as to build appropriate layouts. Quote Link to comment Share on other sites More sharing options...
mhmda Posted October 14, 2017 Share Posted October 14, 2017 You refer to demos, 'touch' folder, beside that the front-end is Sencha Extjs which is the most proffessional frame work for developing web applications and it is cross browser and cross platform, so it will work as expected in any device or platform, we already have many projects in production for several years and all works great. Quote Link to comment Share on other sites More sharing options...
andyhill Posted October 14, 2017 Author Share Posted October 14, 2017 I never questioned Sencha, only trying to use it via UniGUI. Some demos use the Midas.dll (datasnap, bde, interbase etc.) which I do not use or install for many reasons. I feel it would have been a better idea to use a MemData type data store instead. Also, most demos are of minimal code and mostly IDE assembled, this makes it hard to learn especially when documentation is minimal, scarce or even non existent including a lack of entry's to consult in the forum. I was hoping someone would show me in code the principle of how to achieve what I originally asked for (shown in attachment), I understand nobody has to do anything but I am only trying to move forward. Don't get me wrong, I am excited in what UniGUI is promising but coming from a purely Delphi past it takes a while to work out what is going on. An example of this was my request for SessionID where originally I was questioned why I would want such a thing, then finally told it is part of UniSession but never shown how to implement UniSession - through brute force and trial and error I worked it out the hard way only to be advised - yes it is a string when I already had worked that out. I probably have many more things to ask in the future where at least others who follow will at least have example code on the forum to answer similar questions. Quote Link to comment Share on other sites More sharing options...
mhmda Posted October 14, 2017 Share Posted October 14, 2017 I will try to post an demo here Quote Link to comment Share on other sites More sharing options...
andyhill Posted October 14, 2017 Author Share Posted October 14, 2017 Mohammad, thanks for the offer to build a demo project. Perhaps more importantly for me I need advise on:- Mobile dpi property inspection Mobile Orientation before Show Mobile change in Orientation (see my other post). Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.