OlegTimkiv Posted February 5, 2022 Share Posted February 5, 2022 Добрый день! Подскажите, как при удалении записи не сворачивать узлы в TreeGrid? Пробовал так: TestTreeGrid.zip Quote Link to comment Share on other sites More sharing options...
Sherzod Posted February 6, 2022 Share Posted February 6, 2022 Добрый вечер, Попробуем проанализировать. Quote Link to comment Share on other sites More sharing options...
OlegTimkiv Posted February 9, 2022 Author Share Posted February 9, 2022 On 2/6/2022 at 6:54 PM, Sherzod said: Добрый вечер, Попробуем проанализировать. Спасибо! Quote Link to comment Share on other sites More sharing options...
OlegTimkiv Posted March 16, 2022 Author Share Posted March 16, 2022 On 2/6/2022 at 6:54 PM, Sherzod said: Добрый вечер, Попробуем проанализировать. Добрый вечер, вы не смотрели? Quote Link to comment Share on other sites More sharing options...
OlegTimkiv Posted October 1, 2023 Author Share Posted October 1, 2023 On 2/6/2022 at 6:54 PM, Sherzod said: Добрый вечер, Попробуем проанализировать. Добрый день! Подскажите пожалуйста, вы по этой проблеме смотрели? Может уже есть решение? Quote Link to comment Share on other sites More sharing options...
Sherzod Posted October 1, 2023 Share Posted October 1, 2023 Добрый день, Простите, я пропустил этот пост... Я ещё раз проанализирую и дам Вам знать. Quote Link to comment Share on other sites More sharing options...
Sherzod Posted October 2, 2023 Share Posted October 2, 2023 On 10/1/2023 at 4:15 PM, Sherzod said: Я ещё раз проанализирую и дам Вам знать. On 10/1/2023 at 11:58 AM, OlegTimkiv said: Подскажите пожалуйста, вы по этой проблеме смотрели? Может уже есть решение? Я смог посмотреть. Да, выше решение не работает для этого случая, поскольку после удаления, данные обновляются с новыми Id. Нужно проанализировать. Quote Link to comment Share on other sites More sharing options...
Sherzod Posted October 3, 2023 Share Posted October 3, 2023 @OlegTimkiv Добрый день, Некоторое решение: 1. Добавил "Id". grid.Columns.Add; grid.Columns[1].FieldName := 'Id'; grid.Columns[1].Visible := False; 2. Изменения в коде. grid.ClientEvents.UniEvents.Values['beforeInit'] := ' function beforeInit(sender, config) '+ '{ '+ //' sender.expandedNodes=[]; '+ 'var me = sender; '+ 'me.expandSelectedNode = function() {'+ ' var _selection = me.getSelectionModel().getSelection()[0];'+ ' if (_selection) { '+ ' _selection.cascadeBy(function(node) { '+ ' node.expand(); '+ ' }); '+ ' sender.ensureVisible(sender.getSelectionModel().getSelection()[0]);'+ ' } '+ '}; '+ 'sender._locate = function(id) { '+ ' var node = sender.getStore().getRootNode().findChild("1", id, true); '+ ' var pnode = node.parentNode; '+ ' if (pnode) { '+ ' pnode.expand(); '+ ' while (pnode.parentNode) { '+ ' pnode = pnode.parentNode; '+ ' } '+ ' sender.getSelectionModel().select(node, true); '+ ' sender.ensureVisible(sender.getSelectionModel().getSelection()[0]); '+ ' } '+ '} '+ ' } '; // grid.ClientEvents.ExtEvents.Values['store.beforeload'] := // ' function store.beforeload(store, operation, eOpts) '+ // ' { '+ // ' var me=this.grid; '+ // ' me.expandedNodes=[]; '+ // ' me.getRootNode().cascadeBy(function(node) { '+ // ' if (node.data.expanded) { '+ // ' me.expandedNodes.push(node.data.id) '+ // ' } '+ // ' }); '+ // ' } '; // // // grid.ClientEvents.ExtEvents.Values['store.nodeappend'] := // ' function store.nodeappend(sender, node, index, eOpts) '+ // ' { '+ // ' if (this.grid.expandedNodes && this.grid.expandedNodes.indexOf(node.data.id)!=-1) { '+ // ' if (node.parentNode.data.expanded) { '+ // ' node.expand() '+ // ' } else { '+ // ' node.data.expanded = true '+ // ' } '+ // ' } '+ // ' } '; 3. Вызов "_locate" procedure TMainForm.UniButton1Click(Sender: TObject); begin ClientDataSet1.Delete; Grid.Refresh; grid.JSInterface.JSCode(#1'.loadlistener=()=> {'#1'._locate('+ ClientDataSet1.FieldByName('ID').AsString +'); '#1'.store.removeListener("load", '#1'.loadlistener)};'#1'.store.addListener("load", '#1'.loadlistener);'); end; Источник: Quote Link to comment Share on other sites More sharing options...
OlegTimkiv Posted October 11, 2023 Author Share Posted October 11, 2023 Добрый день! @Sherzod Благодарю за ответ, если добавлять данные поочередно для каждой из групп, то отрабатывает не совсем корректно, на видео продемонстрировал. Можете пожалуйста посмотреть? TreeGridDelete.avi Main.pas Quote Link to comment Share on other sites More sharing options...
OlegTimkiv Posted October 16, 2023 Author Share Posted October 16, 2023 Здравствуйте @Sherzod ! Подскажите, может нужна дополнительная информация? Quote Link to comment Share on other sites More sharing options...
Sherzod Posted October 16, 2023 Share Posted October 16, 2023 Добрый день, Нам нужно дождаться версий, которые намечаются в этом квартале. Quote Link to comment Share on other sites More sharing options...
OlegTimkiv Posted October 16, 2023 Author Share Posted October 16, 2023 Благодарю за ответ! буду ждать Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.