29.01.2016, 21:02 | #1 |
Участник
|
Progress bar для DeleteAction?
Уважаемые коллеги, подскажите пожалуйста,
можно ли создать не анимированный Progress Bar для удаления записей из таблицы у которой есть несколько DeleteActions? Может есть способ вычислить их количество и отслеживать какой из них выполняется и на этой базе оформить Progress Bar через SysOperationProgress? Заранее благодарю за помощь! |
|
29.01.2016, 21:12 | #2 |
Участник
|
Реализация механизма DeleteAction скрыта от программиста. Для реализации прогрессбара я вижу только один способ - перекрыть delete метод и вручную реализовать логику удаления записей из подчинённых таблиц. Теоретически с помощью рефлексии можно написать универсальный код, который будет перебирать DeleteAction на таблице и выполнять удаление показывая индикатор выполнения процесса.
|
|
|
За это сообщение автора поблагодарили: Music (1). |
29.01.2016, 21:20 | #3 |
Участник
|
|
|
29.01.2016, 21:39 | #4 |
Участник
|
Пример кода для перебора всех DeleteAction на таблице
https://msdn.microsoft.com/en-us/lib...(v=ax.50).aspx Сложнее найти условия по которым эти таблицы связываются. Я предлагаю построить Query и воспользоваться его возможностью автоматически связывать подчинённые таблицы QueryBuildDataSource.relations(true) Ещё вопрос как быстро удалить связанные записи Удаление записей с собираемым условием как в query Можно удалять по одной или задействовать вспомогательную таблицу. |
|
29.01.2016, 21:58 | #5 |
Участник
|
Цитата:
Сообщение от S.Kuskov
Пример кода для перебора всех DeleteAction на таблице
https://msdn.microsoft.com/en-us/lib...(v=ax.50).aspx Если да, то при большом количестве таблиц и разветвленном дереве DeleteAction-ов придется писать свой query под каждый DeleteAction. |
|
29.01.2016, 22:10 | #6 |
Участник
|
Цитата:
P.S.: Вообще говоря, решать эту задачу для общего случая возможно и перебор. Вполне может статься, что явным образом вам достаточно удалить всего лишь пару крупных таблиц, что можно сделать безо всякой рефлексии? |
|
29.01.2016, 22:15 | #7 |
Участник
|
Та в том то и дело что у меня очень разветвленное дерево таблиц и DeleteAction-ов, не нарефлексируешься, хоть мы и нашли способ))).
Похоже придется отделаться анимированным Progress Bar-ом). |
|