MSMK Posted November 26, 2018 Share Posted November 26, 2018 Возможно ли использовать в uniGUI вложенные таблицы в TuniDBGrid на примере cxGrid Devexpress??? . Примерная реализация в ExtJS https://fiddle.sencha.com/#fiddle/nii&view/editor Link to comment Share on other sites More sharing options...
Sherzod Posted November 26, 2018 Share Posted November 26, 2018 Добрый день, К сожалению, стандартными средствами на данный момент такой возможности нет... Link to comment Share on other sites More sharing options...
MSMK Posted November 26, 2018 Author Share Posted November 26, 2018 3 minutes ago, Sherzod said: Добрый день, К сожалению, стандартными средствами на данный момент такой возможности нет... а в перспективе есть какие либо планы? возможно в новой версии uniGUI? Link to comment Share on other sites More sharing options...
stas Posted December 6, 2018 Share Posted December 6, 2018 Добрый вечер. Проанализировал я Ваш вопрос. Постулируем следующее : В один момент открыта только одна подчиненная строчка (остальные закрываются) Используя плагин RowWidget Вы можете это сделать. Возьмите демку gedit киньте туда контейнер панель, закиньте туда два дбедита с FirstName и LastName После этого допишите в код следующий текст type TMyGrid=class(TUniDBGrid); procedure TMainForm.UniFormCreate(Sender: TObject); begin TMyGrid(UniDBGrid1).JSConfigPlugin('Ext.grid.plugin.RowWidget',['pluginId',-100,'selectRowOnExpand',true,'widget',TMyGrid(UniDBGrid1).JsObject('xtype:"panel", height:200')]); UniSession.AddJS(TMyGrid(UniDBGrid1).JSName+'.getView().lastId=-1;'); UniSession.AddJS(TMyGrid(UniDBGrid1).JSName+'.getView().addListener("expandbody",function(rowNode, record, nextBd, widget)'+'{if (this.grid.getPlugin(-100) && this.lastId!=-1) this.grid.getPlugin(-100).toggleRow(this.lastId,record); this.lastId=record.id; widget.setHeight('+IntToStr(UniHiddenPanel2.Height)+');'+UniHiddenPanel2.JsName+'.setPosition(0,0); widget.add('+UniHiddenPanel2.JSName+');},'+TMyGrid(UniDBGrid1).JSName+'.getView());'); UniSession.AddJS(TMyGrid(UniDBGrid1).JSName+'.getView().addListener("collapsebody",function(rowNode, record, nextBd, widget){ this.lastId=-1;},'+TMyGrid(UniDBGrid1).JSName+'.getView());'); end; //Вместо UniHiddenPanel2 напишите название Вашей контейнер панели. Думаю с гридом получится также "Я нашёл этому поистине чудесное доказательство, но поля книги слишком узки для него." Всего доброго. 1 Link to comment Share on other sites More sharing options...
MSMK Posted December 7, 2018 Author Share Posted December 7, 2018 14 hours ago, stas said: Добрый вечер. Проанализировал я Ваш вопрос. Постулируем следующее : В один момент открыта только одна подчиненная строчка (остальные закрываются) Используя плагин RowWidget Вы можете это сделать. Возьмите демку gedit киньте туда контейнер панель, закиньте туда два дбедита с FirstName и LastName После этого допишите в код следующий текст type TMyGrid=class(TUniDBGrid); procedure TMainForm.UniFormCreate(Sender: TObject); begin TMyGrid(UniDBGrid1).JSConfigPlugin('Ext.grid.plugin.RowWidget',['pluginId',-100,'selectRowOnExpand',true,'widget',TMyGrid(UniDBGrid1).JsObject('xtype:"panel", height:200')]); UniSession.AddJS(TMyGrid(UniDBGrid1).JSName+'.getView().lastId=-1;'); UniSession.AddJS(TMyGrid(UniDBGrid1).JSName+'.getView().addListener("expandbody",function(rowNode, record, nextBd, widget)'+'{if (this.grid.getPlugin(-100) && this.lastId!=-1) this.grid.getPlugin(-100).toggleRow(this.lastId,record); this.lastId=record.id; widget.setHeight('+IntToStr(UniHiddenPanel2.Height)+');'+UniHiddenPanel2.JsName+'.setPosition(0,0); widget.add('+UniHiddenPanel2.JSName+');},'+TMyGrid(UniDBGrid1).JSName+'.getView());'); UniSession.AddJS(TMyGrid(UniDBGrid1).JSName+'.getView().addListener("collapsebody",function(rowNode, record, nextBd, widget){ this.lastId=-1;},'+TMyGrid(UniDBGrid1).JSName+'.getView());'); end; //Вместо UniHiddenPanel2 напишите название Вашей контейнер панели. Думаю с гридом получится также "Я нашёл этому поистине чудесное доказательство, но поля книги слишком узки для него." Всего доброго. Доброе время суток! Спасибо за идею! Буду дальше пробовать, что получится Link to comment Share on other sites More sharing options...
stas Posted December 8, 2018 Share Posted December 8, 2018 Расскажете о результатах? Там ещё select нужно обрабатывать И реалигн контролов нужно делать Грид встал отлично Link to comment Share on other sites More sharing options...
Tokay Posted April 18, 2022 Share Posted April 18, 2022 Подниму. Сейчас такой режим возможен? Link to comment Share on other sites More sharing options...
Tokay Posted April 26, 2022 Share Posted April 26, 2022 Up Link to comment Share on other sites More sharing options...
Sherzod Posted April 26, 2022 Share Posted April 26, 2022 1 hour ago, Tokay said: Up On 12/7/2018 at 1:39 AM, stas said: Используя плагин RowWidget Вы можете это сделать. ? Link to comment Share on other sites More sharing options...
Tokay Posted April 26, 2022 Share Posted April 26, 2022 50 minutes ago, Sherzod said: On 12/6/2018 at 11:39 PM, stas said: Используя плагин RowWidget Вы можете это сделать. Есть где-то пример может? Link to comment Share on other sites More sharing options...
Sherzod Posted April 26, 2022 Share Posted April 26, 2022 3 minutes ago, Tokay said: Есть где-то пример может? \FMSoft\Framework\uniGUI\Demos\Desktop\Grid - RowWidget Link to comment Share on other sites More sharing options...
Tokay Posted April 26, 2022 Share Posted April 26, 2022 Благодарю! Вроде бы то, что нужно. Буду разбираться. Link to comment Share on other sites More sharing options...
Recommended Posts
Please sign in to comment
You will be able to leave a comment after signing in
Sign In Now