|
|
|
DatsSet: как узнать одинаковые ли значения в строках одного столбца
|
|||
|---|---|---|---|
|
#18+
Приветствую, All Есть такая задача. Имеется выборка по редактировании строки в таблице (назовем это журналированием). Все работает за исключением одного неудобства. В таблице куча столбцов, и хотелось бы показывать пользователю только те столбцы, где есть изменения. Есть ли какие простые и быстрые методы пробежаться по гриду и выделить те столбцы где есть различия, остальные скрыть в гриде пока две идеи 1. Бегать циклами по самому дата сету 2. Выгрузить датасет в массив, бегать по нему и по номерам столбцов массива где будут различия показывать / скрывать колонки грида ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.11.2019, 15:13 |
|
||
|
DatsSet: как узнать одинаковые ли значения в строках одного столбца
|
|||
|---|---|---|---|
|
#18+
DISTINCT (UNIQUE)? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.11.2019, 15:59 |
|
||
|
DatsSet: как узнать одинаковые ли значения в строках одного столбца
|
|||
|---|---|---|---|
|
#18+
Crazy_Wolf, 3. Выбирать из БД только нужные записи ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.11.2019, 16:17 |
|
||
|
DatsSet: как узнать одинаковые ли значения в строках одного столбца
|
|||
|---|---|---|---|
|
#18+
07.11.2019 16:17, _Vasilisk_ пишет: > 3. Выбирать из БД только нужные записи не взлетит. тут программист нужен. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.11.2019, 17:01 |
|
||
|
DatsSet: как узнать одинаковые ли значения в строках одного столбца
|
|||
|---|---|---|---|
|
#18+
Мимопроходящий тут программист нужен. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.11.2019, 17:06 |
|
||
|
DatsSet: как узнать одинаковые ли значения в строках одного столбца
|
|||
|---|---|---|---|
|
#18+
Crazy_Wolf, я вас правильно понял, у вас есть 2 таблицы, первую редактируют, а во второй "для журналирования" отмечаются какие именно столбцы? Так? или для каждого столбца в той же таблице есть столбец-клон, в котором хранится "старое" значение? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.11.2019, 01:35 |
|
||
|
DatsSet: как узнать одинаковые ли значения в строках одного столбца
|
|||
|---|---|---|---|
|
#18+
Кроик Семён, да, второй вариант. данные уже получены (с этим нет проблем), просто проглядывать таблицу в 30 столбцов, если в ней менялось (пускай 5 раз) одно и тоже поле неудобно. Хотелось бы просто в гриде скрыть столбцы, которые не менялись. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.11.2019, 06:29 |
|
||
|
DatsSet: как узнать одинаковые ли значения в строках одного столбца
|
|||
|---|---|---|---|
|
#18+
По идее этот механизм уже имеется хотя бы для обеспечения CachedUpdates. Но реализация может находиться не в родительском классе, а отдаваться потомкам ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.11.2019, 10:35 |
|
||
|
DatsSet: как узнать одинаковые ли значения в строках одного столбца
|
|||
|---|---|---|---|
|
#18+
Crazy_Wolf, я бы так поступил: пробежался бы по датасету и определял бы для всех пар полей (оригинал+клон) для каждой записи датасета, есть ли изменение. Если нет измемений во всех строках, можно оба поля сделать невидимыми. Причем от вашей задачи зависит, делаете ли вы Dataset.FieldByName('XYZ_FIELD').Visible:=false или GridColumnXYZ.Visible:=false. Для того, чтобы было быстрее и не раздражало пользователя, можно применить DisableControls/EnableControls. Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.11.2019, 13:35 |
|
||
|
DatsSet: как узнать одинаковые ли значения в строках одного столбца
|
|||
|---|---|---|---|
|
#18+
P.S. Кстати, гриды позволяют расцвечивать ячейки. Не все же ячейки какого-то столбца грида менялись, даже если он видим. Может только в одной строчке из 100 изменилось. Вот эту ячейку хорошо бы как-нибудь выделить цветом. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.11.2019, 13:38 |
|
||
|
|

start [/forum/topic.php?fid=58&msg=39886760&tid=2038864]: |
0ms |
get settings: |
7ms |
get forum list: |
11ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
137ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
37ms |
get tp. blocked users: |
1ms |
| others: | 230ms |
| total: | 436ms |

| 0 / 0 |
