Jump to content

boka

uniGUI Subscriber
  • Posts

    27
  • Joined

  • Last visited

Everything posted by boka

  1. +1 @VolkovVitalD, got any decision?
  2. Вопрос практический такой же, как в последних постах тут Поясню свой: Есть DBLookupCombo c заполненными только ListSource, KeyField и ListName. DataSet под ListSource является master в Master-Detail relation, cоответственно, при выборе нового значения в DBLookupComboBox перезапрашивается detail dataset. Всё бы хорошо, но если в detail dataset накопились изменения при CachedUpdates, то их желательно записать в БД, выполнив ApplyUpdates и предварительно спросив, а стоит ли их сохранять. EnableSynchronousOperations = true и запрос MessageDlg обязательно должен быть блокирующим, иначе [ListSource.DataSet.]KeyField успевает поменяться на новый и закэшированные в detail dataset изменения сбрасываются. Пытался поднимать MessageDlg и в TUniDBLookupCombo.OnChange, и в ~.OnChangeValue (само собой в OnSelect, OnExit и OnCloseUp уже поздно), и в [ListSource.DataSet.]KeyField.OnChange, но получаю "Dataset Blocking method MessageDlg() can not be called here". Где-то в ClientEvents я успею перехватить контроль в самом начале, когда ещё можно?
  3. DBG.RefreshCurrentRow solves the problem w/o JS and catching grid events.
  4. Yep, much closer, thanx @Sherzod Changed code a bit but on the repeat attempt it keeps the last used Cell in an edit state. I tried both methods to finish editing but did not succeed. function reconfigure(sender, store, columns, oldStore, oldColumns, eOpts) { columns.forEach(function(col) { if (col.getEditor().xtype == "combo") { col.getEditor().on('select', function(combo) { Ext.defer(function() { var _row = sender.getStore().indexOf(sender.getSelection()[0]); if (col.dataIndex === '1' && combo.getValue() === 'Min-Max') { var _colIndx = 2; sender.editingPlugin.startEditByPosition({ row: _row, column: _colIndx }); sender.getColumns()[_colIndx].getEditor().setValue(null); sender.editingPlugin.completeEdit; //1st _colIndx = 3; sender.editingPlugin.startEditByPosition({ row: _row, column: _colIndx }); sender.getColumns()[_colIndx].getEditor().setValue(null); sender.editingPlugin.completeEdit; } else if (col.dataIndex === '1' && combo.getValue() != 'Min-Max') { var _colIndx = 4; sender.editingPlugin.startEditByPosition({ row: _row, column: _colIndx }); sender.getColumns()[_colIndx].getEditor().setValue(null); sender.editingPlugin.editing = false; // 2nd } }, 0) }) } }) }
  5. Like in normal use - eihter when pressing corresponding Navigator button or it posts automatically when changing a row. I don't want to change common user/UI behavior.
  6. Thanks, @Sherzod Ok, now I catch that fired AJAXEvent and get those necessary cells clear before Post already! But! The combobox (without Post) turns back to the initial value every time! And even though it was already in changed state! if EventName = 'comboSelected' then begin var DS := (Sender as TUniDBGrid).DataSource.DataSet; if not (DS.State in dsEditModes) then DS.Edit; if DS.FieldByName('METHOD_NAME').Value = 'Min-Max' then begin DS.FieldByName('LOOKUP_DEPTH').Value := null; DS.FieldByName('METHOD_TYPE').Value := 'MM'; DS.FieldByName('METHOD_NAME').Value := 'Min-Max' end else begin DS.FieldByName('LEFTOVER_MIN').Value := null; DS.FieldByName('METHOD_TYPE').Value := 'AV'; DS.FieldByName('METHOD_NAME').Value := 'по среднему'; end; // Post; end; As you see I even tried to reassign it's value. P.S. I don't want to Post changes without need.
  7. As far as I understand this event fires when the AField changes. Ok, now I hook the changes of that dropdown field in OnSetCellValue on Form (Previously was in OnChange event in DataModule). But in OnSetCellValue the underlying DataSet is in dsBrowse state that makes me turn it into Edit state first, then change the necessary fields values and Post them after all because only after DataSet.Post I see the refreshed data in DBGrid. And is there any way to refresh the DBGrid/Row/Cell representation without posting? I just want to see/make the empty cell 'Остаток min' immediately right after changing 'Min-Max' selected above onto 'по среднему' (there are only two values)
  8. nope, plain data fields. I execute that code from a DataModule if it matters 'cause haven't found how to catch the dropdown closing event from a Form
  9. When choosing first value 'по среднему' from dropdown list I want to clear value from cell 'Остаток min' in that row, when choosing 'Min-Max' - from 'Глубина анализа'. Just to see them empty. As it seen in my example I do it with the data of corresponding dataset fields (in OnChange event of underlying 'dropdown' TField) but that doesn't lead to the DBGrid representation
  10. I have a lookup db field among different others in my connected TxxQuery and I want to clear some of them on DBGrid right after choosing the value from dropdown, when it is already collapsed. Assigning nulls on "data" level doesn't work IsMinMax := SameText(qDemandSettingsMETHOD_TYPE.Value, 'MM'); if IsMinMax then qDemandSettingsLOOKUP_DEPTH.AsVariant := null else qDemandSettingsLEFTOVER_MIN.AsVariant := null; [METHOD_TYPE is that "lookup" field, LOOKUP_DEPTH and LEFTOVER_MIN - those I need to clear in DBGrid] Do I need to do something on client side or somehow force to refresh the grid?
  11. @mikromundo Have I use all of the demonstrated components from RadCORE? Or the mentioned "Theme control" can apply these decorations to any uniGUI control?
  12. Hi everybody. Does anybody besides @GerhardV have a positive experience with Sencha Themer? I've just downloaded and installed it as trial, made some cosmetic but noticeable changes in Grid, DropdownBox and TreeMenu decorations, generated both package and css, placed them in correct folder, have chosen then among all available themes but .. But don't see the results in runtime. Maybe someone can suggest anything, direct me what I have missed?
  13. Did you get any answers or solutions?
  14. Hi there!

    Can you give me some advice?
    I've just installed that Sencha Themer with all prerequisites, created new theme,  made some changes in some controls and tried to apply it to the test app.


    image.thumb.jpeg.a55c03bb93ce609752ff37a12a2516f0.jpeg

    So I put both published from Themer package and CSS to the correct path

    image.jpeg.686e5255ef97eb7d5f3f8b7741f5200b.jpeg

    and it's visible both from IDE and running app

    image.jpeg.0e36e0b4c117fb7a6e75f9f85fd00d6a.jpeg

    image.jpeg.0ffee133eac125f80212fcfb28fc79d7.jpeg

     

    But, as it seen, changes not applied :-(
    What am I doing wrong?

    uniGUI Pro ver: 1.90.0.1558
    Sencha SDK installed with Themer: ExtJS v7.5.1.5 (too new for uniGUI?)
    Tried both Classic and Universal toolkits, made (from a copy) ext-theme-uni_test1.js and edited the name in to last lines of it..

  15. I think that you only can manually combine them in Sencha Themer
  16. boka

    Sencha Themer

    where there any PM answers for your question? I've just installed Sencha Themer (it's trial for 30 days) and made one theme (package) just like an attempt, but cannot apply it to unuGUI app
  17. boka

    Bryntum

    только если кто-то со стороны решит сделать. uniGUI - это "VCL"-wrapper вокруг Secha ExtJS
  18. версия 1.90.0.1530 к моменту публикации вопроса пробовал разное: и v5, и v4, и с fa-, и без, и этот символ, и другие. по предложениям выходит, что если в кнопке выводится, а в триггере коммбобокса нет, то надо просто продолжапть провобвать варианты игры со шрифтом? 😀 https://yadi.sk/i/C1FAWCe_JdYP5Q вот, просто пытаюсь подставить в триггер одну из иконок, которые "рассыпаны" по разным элементам формы. ну, чтоб новый "зонтик" отсечь с его fa- и без, заодно в IconItems их же повставлял. Результат тот же. стоит попробовать свежий Trial 1.90.0.1537? Sherzod, это баг? (собственно, я с этого свой вопрос начинал)
  19. https://yadi.sk/i/UxwR5sMxKL-fkA https://yadi.sk/i/mJd4XoC9QK9y3Q https://yadi.sk/i/lQPmAtHu2FbAqQ https://yadi.sk/i/bRsaPaQJ_GR38A https://yadi.sk/i/ME7XLN23HLI0kw думаю, по последовательности скринов всё станет понятным. ещё раз: изменения делаются в типовом примере из FMSoft\Framework\uniGUI\Demos\Desktop\NativeImageList - FontAwesome (ньюбам нельзя инсертить аттачи на форуме?)
×
×
  • Create New...