Jump to content

Leaderboard

Popular Content

Showing content with the highest reputation since 06/20/24 in all areas

  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 points
  2. Hello, We will prepare extensive document and videos to demonstrate this. In short, You can modify multiple rows (edit, delete or append) on client side and send all changes in a single batch request to the server Navigation in grid won't change dataset cursor (This can be enabled using an option) Editing cells doesn't send multiple events to the server as it happens in standard UniDBGrid You can use database transactions to commit or rollback changes. This means that you can rollback all changes if an error occurs during posting multiple changes. You can use non-datebase data sources to populate the grid. (You can write your own adapters to get data from any data source) You can write custom event handlers to take full control on how data is posted to the underlying data source You can work with closed data tables. (Open only when needed) Unlike UniDBGrid, HyperGrid doesn't rely on "RecNo". Everything is handled using a KeyField which is a field in your table with unique key values. This key values will be used to locate rows when editing or deleting rows. Same key values are used when navigating in the grid. Data adapters allow to centralize event handling for multiple HyperGrids using a single data adapter. Modified rows won't be sent to the server until user decides to do so.
    2 points
  3. Hello, The license will be extended! We will try during the day. Thank you.
    2 points
  4. great thread, bolshoi spacibo, folks!
    2 points
  5. I do it practically the same way, I tried to use the grid directly and the work of controlling it was very difficult and I wasn't very successful, that's why I chose this way.
    1 point
  6. 1 point
  7. Master @Hayri ASLAN, your work in relation to hypergrid is very good, I would like to maybe ask for examples, in relation to people who use grids just to show data like me. What can we gain from hypergrid?
    1 point
  8. We can implement a server-side event which allows modifying client side data store without editing the underlying server side database.
    1 point
  9. 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!
    1 point
  10. Hello, In this case you will also need some knowledge of HTML, CSS, JavaScript I think. You can search the Internet for approximate implementations of chats and apply them. As components you can use HTMLMemo, and possibly grid.
    1 point
  11. 1 point
  12. 1 point
  13. I think you can use any grid but dbgrid is really good
    1 point
  14. Thank you @Sherzod and sir @Farshad Mohajeri!!! ❤️❤️
    1 point
  15. Good morning, unfortunately I have not found the solution, I am still investigating. What I have done to solve this issue is to display the pdf in a TUniHTMLFrame control with the standard options so that the user can execute the download. Greetings
    1 point
  16. Да, то что нужно, спасибо ещё раз!
    1 point
  17. I have tried option dgAllowSelfUpdate = True, but still it doesn't update the summary values. I am working on a test case at the moment, so I will provide it soon.
    1 point
  18. I'm 55 and started with Turbo Pascal in late '80s. ( My first computer during early '80s was a ZX Spectrum 48K with BASIC) Then Delphi 5 in late '90s. Still love Delphi and most of my code is still Delphi though are now also programming in C++. Transition from Delphi to C++ is not that difficult. C++ remains popular amongst data science community because its much faster than Python. By the way, UniGUI 1.95.0.1583 works perfectly with RAD C++ Builder 12.1 (Windows 64bit target) There are thousands of C++ developers below 40. In my opinion, if UniGUI wants to grow, they should focus on the C++ community
    1 point
  19. I developed a fully functional db-aware (lookup) control and requested some minor changes in unigui code. so far i didnt get any feedback nor were those very minor changes implemented. Its definitely possible without too big changes, so i do not understand why its not included in unigui (the file is 1400 lines of code and i use space out things and uses a lot of empty lines).
    1 point
  20. Thanks for your help @mazluta , actually I already use AlignmentControl = uniAlignmentClient, and this problem does not occurred on Development PC, it does shown on "some" PC's of the customers side I solved the issue temporarily by enabled the options.dgRowNumbers "Which suppose not shown" Dears @Farshad Mohajeri @Sherzod Please I need your help in this issue. Regards
    1 point
  21. Good morning. Thank you very much, it works perfectly
    1 point
  22. I'm wanting to leave Google, the cost is getting too high.
    1 point
  23. This code finds the parent container of the label component. up('container'): the up method traverses up the component hierarchy to find the nearest ancestor that matches the specified selector, in this case, 'container'. So, var container = label.up('container'); finds the closest parent container of the label component and assigns it to the container variable.
    1 point
  24. Доброе утро! Скрипт jsgantt.js не успевает загрузиться полностью... Решение: UniHTMLFrame1.BeforeScript -> Ext.Loader.loadScript({ url: 'jsgantt.js' });
    1 point
  25. Solved. Thanks a lot Marlon for your fast and efficent support. Here is my "like"....👍
    1 point
  26. It works! Thank you very much Sherzod
    1 point
  27. Forgive me for my forgetfulness... Can you try add these lines in initialization section? initialization ... UniAddCSSLibrary('build/packages/ux/classic/classic/resources/ux-all.css', False, [upoFolderJS, upoPlatformDesktop]); UniAddJSLibrary('build/packages/ux/classic/ux.js', False, [upoFolderJS, upoPlatformDesktop]);
    1 point
  28. Я постараюсь проверить.
    1 point
  29. Hello, One possible solution: 1. UniPropertyGrid1.ClientEvents.ExtEvents -> function store.load function store.load(sender, records, successful, operation, eOpts) { var grid = this.grid, cols = grid.dbColumns; cols.forEach(function(col) { if (col.editor) { col.editor.fieldCls = "custom-editor" } }); } 2. CustomCSS -> .custom-editor { font-size: 16px !important; }
    1 point
  30. Вот к примеру, но она платная: https://bryntum.com/products/gantt/
    1 point
  31. ohhho. tested. that work. thanks now i will merge it into my full project
    1 point
  32. Добрый день, http://jsgantt.com/#tUsage
    1 point
  33. If you were able to achieve success, let me know.
    1 point
  34. Hi all, I'm testing a mix of Unigui (ExtJs Layout) and Pure.css for get a TOTAL CLIENT Responsive features. Work is in progress, but this is a short video of result. I want to get a client (in browser) responsive operations ,to avoid too much communication with the server, especially with large installations. Any hint or help is valuable, thank you! Happy New Year to all! Demo Responsive_GoogleChrome.mp4
    1 point
  35. Hello, Here is the solution: 1. UniDBGrid1.ClientEvents.ExtEvents -> function afterrender(sender, eOpts) { sender.view.rowExpander.collapseRow = function(rowIdx) { var rowNode = this.view.getNode(rowIdx), row = Ext.get(rowNode), nextBd = Ext.get(row).down(this.rowBodyTrSelector), record = this.view.getRecord(rowNode), grid = this.getCmp(); if (!row.hasCls(this.rowCollapsedCls)) { row.addCls(this.rowCollapsedCls); nextBd.addCls(this.rowBodyHiddenCls); this.recordsExpanded[record.internalId] = false; this.view.fireEvent('collapsebody', rowNode, record, nextBd.dom); } }; } 2. private { Private declarations } FPrevRowID: Integer; 3. procedure TMainForm.UniFormCreate(Sender: TObject); begin FPrevRowID := -1; end; 4. procedure TMainForm.UniDBGrid1RowExpand(Sender: TUniCustomDBGrid; const RowId: Integer; var RowControl: TControl; Container: TUniContainer); begin if FPrevRowID=-1 then begin FPrevRowID := RowId end else begin UniDBGrid1.JSInterface.JSCall('view.rowExpander.collapseRow', [FPrevRowID]); FPrevRowID := RowId; end; RowControl := TDetailFrame.Create(Container); end; 5. procedure TMainForm.UniDBGrid1RowCollapse(Sender: TUniCustomDBGrid; const RowId: Integer; Container: TUniContainer); begin if FPrevRowID=RowId then FPrevRowID := -1; end;
    1 point
  36. Try this: function painted(sender, eOpts) { var me = sender.inputElement; me.setStyle('line-height', me.getStyle('font-size')); }
    1 point
  37. Hi there, I suggest you use the login form for this. Display your splash screen after a successful login and before showing main form. See attached sample project. SplashDemo.zip
    1 point
  38. Чтобы "сохранить" шрифты, используйте такой код: with UnimDBLookupComboBox1 do begin JSInterface.JSAddListener('painted', 'function(){this.inputElement.setStyle("font-family", this.inputElement.getStyle("font-family") + ", FontAwesome")}'); JSInterface.JSConfig('placeholder', [#$f002 +' Search']); end;
    1 point
  39. Hello, Will there be any extensions for expired license? Our license just got expired before the latest publish of build 1585.
    0 points
×
×
  • Create New...