Jump to content

Stemon63

uniGUI Subscriber
  • Posts

    487
  • Joined

  • Last visited

  • Days Won

    35

Posts posted by Stemon63

  1. I repost the question:
    Is full responsive?
    There is an English demo?
    Can we have a tutorial video or advanced capabilties video, in english?
    Thanks in advance!

  2. Those are good numbers. Especially without HyperServer and with just one executable. But it all depends on how you manage datasets and application logic on the server side.
    The smaller the datasets resident in memory (coming from queries, tables or other) the less resources are consumed (memory and cpu), always having to multiply everything by the number of active users.
    And clearly, the less "useless" traffic is generated between client and server, the better resources are managed.
    I hope that with the management of "disconnected" datasets, as promised by Farshad for new lightweight DBgrids, much of the "in-memory persistent" data resources can be managed by shifting the dataset load to the client, freeing up resources on the server.
    This should further improve Unigui's already excellent performances.

  3. 14 hours ago, Sherzod said:

    @Stemon63 @Abaksoft

    Yes, we must wait for the release of a version that will use the light implementation of the grid.

    OK Sherzod,
    but with light grid, what operations we can perform on client WITHOUT involve server?
    And then, how to synchronize the updated and modified data on the client on the server?
    Is it possible to have some previews on the applied logic?
    Is there some kind of UniClientDataset and then some kind of Applyudates, for example (which would be optimal)?
    Or events that allow you to synchronize modified records?
    Any news or predictions are welcome.
    I won't hide the fact that, for a project that requires very fast grid input and immediate quick calculations (sums and checks directly line by line) I'm testing TMS Web Core which manages the datasets entirely on the client.
    But I would prefer to continue this project with Unigui, if possible.
    Good work. Thanks in advance! 

  4. HI Abaksoft,
    thank you for the help!
    But I think an analysis by Farshad or Sherzod is necessary to explain how to interact with the Js routines that they have created, in order to be able to carry out client operations on grids and stores (client dataset) in an "official" way and in a to then be able to update the data on the server dataset.
    Only in this way can we develop truly powerful and fast applications since we can divide the load between calculations on the client (sometimes very fast and immediate) and server-side operations. I ask for their analysis on the problem, which is certainly good for Unigui's performances and tuning. Thank you!

    • Like 1
  5. Hi Kurt,
    yes I use calculation in Dbgrids.
    But I can use also in "normal" UniDb components.
    In short I want to say how to perform calculation at store level or at field level, WITHOUT call the server;
    I cannot call the server every time for perform fieldc= fielda+ fieldb, if all value are on the client. Especially on fast insertion in Grids (like invoices or expense reports);
    Server calculation are ok, but for IMMEDIATE calculation I must perform them on the client (same also for immediate checks or limits).
    Have you a solution?
    Thanks

  6. Hi,
    How can perform calculations (or checks) only on the client side?
    I mean field c=field a+field b, but directly in the client store or on the values present directly in the editors (DB) that are in the form.
    But all on client side, without making ajax calls to the server?
    (Server dataset must be updated on post record)

    Thank you

    • Like 1
  7. Yes, Sherzod.
    (we could have users who work for the competition, who would continue endlessly scrolling the grids while holding down the up and down keys).
    I want to align the server only on single actions, and double click (or enter) already works perfectly.
    I just need the same key action from buttons (on mobile it is mandatory). But selectionchange must be disabled. I clearly need this to prevent users from crashing the system simply by holding down the arrow keys.

  8. Hi Sherzod,
    is a standard TUnidbGrid;




    object gridLista: TUniDBGrid
      Left = 16
      Top = 16
      Width = 761
      Height = 307
      Hint = ''
      ClientEvents.ExtEvents.Strings = (
        
          'selectionchange=function selectionchange(sender, selected, eOpts' +
          ')'#13#10'{'#13#10'  return false;'#13#10'}')
      PagingBarAuxControl = lblTotRecord
      DataSource = D_Lista
      Options = [dgTitles, dgIndicator, dgColumnResize, dgColLines, dgRowLines, dgRowSelect, dgConfirmDelete, dgAutoRefreshRow]
      ReadOnly = True
      LoadMask.Message = 'Caricamento Dati...'
      LayoutConfig.Region = 'center'
      BorderStyle = ubsFrameLowered
      TrackOver = False
      TabOrder = 1
      PreventWrap = True
      Exporter.Enabled = True
      OnAjaxEvent = gridListaAjaxEvent
      OnColumnSort = gridListaColumnSort
      OnDblClick = gridListaDblClick
      OnClearFilters = gridListaClearFilters
      OnColumnFilter = gridListaColumnFilter
      Columns = <
        item
            FieldName = 'id'
          Title.Caption = 'ID'
          Width = 47
          Sortable = True
          Menu.MenuEnabled = False
          Menu.ColumnHideable = False
        end
        item
           FieldName = 'com_comune'
          Title.Caption = 'Comune'
          Width = 304
          Sortable = True
          Menu.MenuEnabled = False
          Menu.ColumnHideable = False
        end
        item
          Flex = 1
          FieldName = 'com_prov'
          Title.Caption = 'Prov'
          Width = 67
           Sortable = True
          Menu.MenuEnabled = False
          Menu.ColumnHideable = False
        end>
    end
     

  9. Hi Sherzod, 
    thanks, I have already tested this solution.  But that solution don't works for me for this scenario. It permits to call the server for every scroll (also non continuous).
    I want that dataset records on server are syncronized only with doubleclick. Ant this already works optimal because there are no calls  on grid scroll, but server is updated on doubleclick.. 
    I need simply a way for "force" pressing doubleclick on the grid from JS (called from a button or an action) 🙂 
    Thanks a lot

     

  10. HI,
    for "security" reasons (I don't know my users), I have inhibited the repeated calls to the server that occur when the user continuously scrolls through the records ("return false" in Mygrid.ClientEvents.ExtEvents.Values['selectionchange ']).
    When I double-click on the record, UNigui calls the server and synchronizes the current record so I can show the detail form.
    I need to perform the same operation from a UniButton.
    I need to call doubleclick event on the client from a Unibutton.
    Thanks

  11. Hi Norm,
    Thanks so much for the detailed explanation. Very interesting.
    But a spontaneous question arises in my mind:
    At this point, if Unigui must basically act as a backend server, why not use VueJs as a frontend and specialized tools written in Delphi, such as Xdata, Mormot, KbmMW, DelphiMVCFramework, as backend?
    Thanks a lot

  12. Hi, 
    I have always ask for a Combobox or Lookup with a list of display values and and corresponding values to be assigned in the field below.
    Now I can with dataset lookups; I need also a simple editor with a list of display values and a list of corrispondent keys.
    I add the request (made many times) for a well-formatted and multi-column table in the popup (with headers and separation lines).
    If it already exists tell me where I can find it 🙂
    Good job!

    • Like 2
    • Upvote 1
  13. 5 hours ago, Sherzod said:

    Hello,

    What do you mean?

     

    There is a solution on the forum (client side)

     

    Server solution, with calculated fields.

    1) What do you mean?
    I mean a "tested" solution that actually works has never been published.
    Please point me to a post that actually solves the problem for real.
    2) There is a solution on the forum (client side)
    Ok, tell us which post has the solution that actually works.
    It is clear that we always prefer the client solution, especially on grids when fast user input does not have to be slowed down by continuous chatting with the server for simple calculations or actions that can be fast direct on the client.
    3) 
    Server solution, with calculated fields.
    Well,
    Is it possible to perform client-side calculations? A simple addition or multiplication should not force us to create a calculated field in the dataset that is on the server. Especially if that field must also be able to be modified by the user, so it cannot be a calculated field, but a standard field to which a calculated value is assigned (which is a different thing).
    My request is: how is it possible to obtain field3=field1+field2 directly on the client, without calling the server, if not by updating the dataset when post the data?


    I want to be clear, this is not a controversy. Unigui is really cool.
    But blocking the work in search of small solutions by randomly searching the forum and being told "there is the solution on the forum" is not very welcome.
    Because in the meantime the work is blocked and those simple things requested PREVENT the release of applications to users.
    Currently I have no working solutions for what I requested.
    And for this reason, that is, for these small things, I was forced to use another tool to deliver some small projects on time.
    Currently I don't read anywhere how to do 1+1=2 directly in the fields of a DBgrid on the client.
    So I myself like a set of "worked" examples that I simply need to implement in my own applications.

    In the meantime, I thank you for your precious help.

×
×
  • Create New...