Jump to content

Stemon63

uniGUI Subscriber
  • Posts

    565
  • Joined

  • Last visited

  • Days Won

    50

Everything posted by Stemon63

  1. An example of my custom LocalStore and a custom DbLookupCombobox. Very rudimentary, I'm not an EXTJs expert, but this is what I want to achieve as a component for Unigui. But even as grid editor!!! I load the store only once in the form or session, at startup. Lookup.mp4
  2. Well Farshad, I don't think there is a misunderstanding. I was just hoping there was no server call except for data loading and commit/rollback, and be able to manage everything on the client side, including calculations and validation checks. This is the optimal goal to achieve. We got close, I think. As regards the Extjs Data Store, I myself have already created a "Clientstore" to be used as a dataset resident on the client (loaded at the start of the session) which contains all the countries. So my suggestion is to make the DataStore used for Hyper grids public, creating a Unidatastore component, with the definition of the fields, etc. equal to the dataset. The Hyper grids and all the DB components must be connected to this Unidatastore via UNIDatasource (client side) and I am therefore talking about DBtext, DbEdit, etc. This way I get full control of the data on the client side, consulting the server only when loading the data and saving it (which should already work well with the batch). Clearly completely optional and additional to what already exists. The result would be: 1) very light sessions with less in-memory datasets; I can have 1000 sessions instead of 100. 2) Very very fast operation on the client, which does not have to continuously call the server But isn't there an adapter that loads the grid from Json format? DB services via Rest are the best way to remote data and therefore it is essential to have a Json adapter. I can then load the Json array from the service (Get) for my HyperGrid, and send (Post) the Json array that I can create myself from Batch, all without datasets!!!!!
  3. If the goal is to query the server for each insert/delete I don't see where the gain is in terms of traffic. 🙂 So the only advantage is not leaving a dataset open with its requests. Even if I then see adapters with datasets which must therefore remain open during grid operations, right? However, I don't see an adapter for Json file/Stream, which should be the main one, and I don't understand what the UniHyperGridNativeAdapter refers to. Great work for sure, but it needs to be refined to be truly successful (for my needs). For my applications, being able to do crud quickly on the client side is very strategic. (Imagine quickly entering invoices, receipts, and table documents directly into the grid, caching all operations). Now I can only do this with TMS WebCore because it has the client-side dataset connected with all the DB components. I wish I could do it with Unigui, which has its strengths in other aspects. By the way, a LookupCombobox with Hypergrid as a popup? To always use the same store on the client (countries, cities, item codes, etc..) without reloading it every time? Or even better a dataset on the client (store) connected with Hypergrid and above all with the DB components (Dbedit, Dbtext) etc.? Am I asking too much? 🙂 Good Job!
  4. Isn't there a way to do everything on the client, avoiding chatting at every insertion or delete? (I'm not going to leave any dataset open, and then manage the batch directly to generate the SQL statements).
  5. Hi Farshad, "In fact there is a calling "O17.uniInsert(0,{});_sge_(O13,0,0,false);" and "O13.store.remove(O13.selModel.getSelection())". Is this a bug to fix? Thanks
  6. Well, ClientsEvents in not published in object Inspector!! 🙂 Hayri he's right. It works. Renderer in Reconfigure works. But when I edit the resulting field (total column), the original value is showed in the editor. How update that value in the editor? For Farshad: My observation about the batch malfunction in the Hypergrid is incorrect. This is because we observed a call to the server for each insertion and each deletion. In fact there is a calling "O17.uniInsert(0,{});_sge_(O13,0,0,false);" and "O13.store.remove(O13.selModel.getSelection())". This made me think of an error in the batch. Instead I believe that there should be no calls to the server in case of insert/delete operations Thanks
  7. I'll try it right away, as soon as possible. A thousand thanks
  8. Hi Hayri, thank you for example. Very useful. But I need a calculated value in a "Persistent" field. "Total" must be a field of dataset, and it must be updated on CustNo or TaxRate data input. Can you help me on this scenario? (very common). Especially using HyperGrid, calculations and control/validation of fields and rows must be performed on client. So better is to have several examples. Useful for all Unigui users. Thanks a lot!
  9. Hi Farshad, in the demos that I quickly tested this is not true. Or the demos don't show this management (all updates in one shot). I will try the demos carefully again. Thank you
  10. Really? I don't think I saw it in the demos
  11. HI, Any news on HypherGrid updates? Planned improvements? As it is in this initial phase it doesn't cover my needs (I have to have all the crud in cache, not only the update, but also insert and delete records). Thanks!
  12. Wow! This would be a great thing!
  13. Hi Farshad, In this case unfortunately we are back to square one. We need to find a way to do real-time calculations on the client (as well as individual record validations). All before updating the server with the "Save" button (for ex.). So for me (and I think for others too) it is necessary to forcefully interact on the Javascript side in order to simply manage the input of an invoice and then be able to send the data already calculated and validated to the server. But I have no idea how and where to intervene to interact with the "store" on the client. I need documentation on this. Thank you
  14. Hi Farshad, But in this first version it doesn't seem to work like that yet (I'm referring to the first point). So do we have to wait for the next releases to see something changed or improved in the logic? I already asked this question: How to do row calculations in Hypergrid? Example: Total=Price x quantity. We need examples or instructions on how to carry out calculations and validation checks directly in Javascript (unless you want to implement Pas2Js 🙂 ) I would like to point out that Hypergrid is truly a step forward in the management of "enterprise" applications and I hope to use it intensively. Thanks in advance!
  15. Hi Sherzod, your demos don't have these options enabled. Thanks
  16. Good morning, Let's now start a looong discussion on the new Hypergrid features :-) First of all, I thank Farshad for his invaluable work and for the excellent product created so far. It is clear that my words only have the intention of seeking the best solution to my software problems and above all to facilitate the migration from desktop applications, which unfortunately (or fortunately), use grids for data input in an exhaustive manner . In Unigui, however, the continuous "chatting" with the server for data and event management is NOT adequate for the intended use, especially with applications with very fast inputs (shops, supermarkets, etc.) and above all the forecasting of many connected users. So I'll actually summarize what I would like to achieve, without prejudice to Unigui's excellent and incredible management of the sessions: I need to move data to the client, via queries and immediately afterwards destroy these queries to free up resources and leave the ball to the client, until the latter sends me some data back or decides not to do anything. In this way the server has many more free resources (many fewer active datasets waiting). When the client decides to send me updated data, I DO NOT update a dataset (which is a good option) but directly generate the SQL needed to Insert, update, delete in the DB. Otherwise I am forced to leave the dataset open and Hyper management is useless. And this is easy to obtain at server side if the Json received is more complete. Or if all operation are received in one step. Therefore, I ask that the management of HyperGrid be changed, so that the ApplyUpdates operations (commit all works) are in a single operation, and not immediate insert and delete and only the update is in batch. In practice, the json produced should be modified and contain both the operation to be performed and the entire record to be written (except clearly for the delete which only requires the key). Just one operation, and not 3 separate ones. The server must not be called for events in the meantime! (The Hyper navigator continues to call events on every keystroke!). If the client keeps calling the server for every event, what is the purpose of the Hypergrid? Personally I would have preferred a new UNIdataset, totally client and powered by the server (dataset, json, csv, etc.) and with cached updates, to which to connect Hypergrid and NOT ONLY, but also all the DBaware components. In this case we could manage the classic master (header) and details (body) totally on the client with the possibility of updating the server in batch. Hypergrid is a great start, but I think the type needs to be adjusted in favor of greater independence from the server in client operations and I think this is easily achievable by Farshad. Question: How to do row calculations in Hypergrid? (total=price x quantity) Thanks and good job!!
  17. Wow! Please share the code!!!
  18. Wow!! Please share the code!! Farshad, please insert the component in Unigui!
  19. HI Picyka, also DB version? (Anyway a NATIVE unigui component is welcome) Thanks
  20. Hi Michel, DbLookups with Incremental Search and grids in popup is now a dream that sooner or later I hope will come true... but it is not easy to achieve and in fact it is difficult to find it on the web, while it is widespread in Desktop applications. It may seem strange, but I have several Desktop projects (Devexpress) that I cannot port to Unigui, precisely because they contain many DbLookups to be managed in an "intelligent" and controlled way. As well as the Combox with Items (display) and Values (stored) which is an easy component to create for Farshad. But it seems I have to send a case of good Italian wine to Farshad to convince him... 🙂
  21. Buonasera Gerardo, 
    ho aperto un vecchio progetto con Delphi 12 e l'ultima release di Unigui. Ma vi sono diversi xUniDBComboBox che adesso non funzionano più.
    Ricordo male o era un tuo componente condiviso?
    E' per caso disponibile un aggiornamento per le nuove release di Delphi?
    Ti ringrazio,
    Stefano Monterisi

    Good evening Gerardo,
    I opened an old project with Delphi 12 and the latest Unigui release. But there are several xUniDBComboBoxes that no longer work.
    Am I remembering correctly or was it a shared component of yours?
    Is there an update available for the new Delphi releases?
    I thank you,
    Stefano Monterisi
     

    1. gerardocrisci

      gerardocrisci

      Ciao Stefano
      il componente ora fa parte di un progetto ... 
      dammi un tuo indirizzo mail a cui mandare del codice

    2. Stemon63

      Stemon63

      Ciao Gerardo,
      puoi inviare a monterisi@sesamoweb.it.
      Ti ringrazio sin da ora.
      Posso sapere di che progetto si tratta?
      Grazie e buona giornata!

  22. Hi, You can create a unigui application (localhost:8000 for example) in which the scanner or printer is managed, as if it were a normal desktop VCL application. This application must run on the PC where the scanner is installed. In the application that runs in the browser you need to call "localhost:8000" and pass the necessary parameters and receive the desired output.
  23. 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!
  24. Why make our lives easy? This should be the basic component (DB and otherwise) used by everyone. And instead it is ignored, making our lives very difficult for simple cases... 🙂 ++++++++++++1
  25. Hi, Haven't found a solution to your problem?
×
×
  • Create New...