
Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
07.11.2019, 15:13
|
|||
|---|---|---|---|
|
|||
DatsSet: как узнать одинаковые ли значения в строках одного столбца |
|||
|
#18+
Приветствую, All Есть такая задача. Имеется выборка по редактировании строки в таблице (назовем это журналированием). Все работает за исключением одного неудобства. В таблице куча столбцов, и хотелось бы показывать пользователю только те столбцы, где есть изменения. Есть ли какие простые и быстрые методы пробежаться по гриду и выделить те столбцы где есть различия, остальные скрыть в гриде пока две идеи 1. Бегать циклами по самому дата сету 2. Выгрузить датасет в массив, бегать по нему и по номерам столбцов массива где будут различия показывать / скрывать колонки грида ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
07.11.2019, 15:59
|
|||
|---|---|---|---|
DatsSet: как узнать одинаковые ли значения в строках одного столбца |
|||
|
#18+
DISTINCT (UNIQUE)? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
07.11.2019, 16:17
|
|||
|---|---|---|---|
|
|||
DatsSet: как узнать одинаковые ли значения в строках одного столбца |
|||
|
#18+
Crazy_Wolf, 3. Выбирать из БД только нужные записи ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
07.11.2019, 17:01
|
|||
|---|---|---|---|
|
|||
DatsSet: как узнать одинаковые ли значения в строках одного столбца |
|||
|
#18+
07.11.2019 16:17, _Vasilisk_ пишет: > 3. Выбирать из БД только нужные записи не взлетит. тут программист нужен. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
07.11.2019, 17:06
|
|||
|---|---|---|---|
|
|||
DatsSet: как узнать одинаковые ли значения в строках одного столбца |
|||
|
#18+
Мимопроходящий тут программист нужен. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
08.11.2019, 01:35
|
|||
|---|---|---|---|
|
|||
DatsSet: как узнать одинаковые ли значения в строках одного столбца |
|||
|
#18+
Crazy_Wolf, я вас правильно понял, у вас есть 2 таблицы, первую редактируют, а во второй "для журналирования" отмечаются какие именно столбцы? Так? или для каждого столбца в той же таблице есть столбец-клон, в котором хранится "старое" значение? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
08.11.2019, 06:29
|
|||
|---|---|---|---|
|
|||
DatsSet: как узнать одинаковые ли значения в строках одного столбца |
|||
|
#18+
Кроик Семён, да, второй вариант. данные уже получены (с этим нет проблем), просто проглядывать таблицу в 30 столбцов, если в ней менялось (пускай 5 раз) одно и тоже поле неудобно. Хотелось бы просто в гриде скрыть столбцы, которые не менялись. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
08.11.2019, 10:35
|
|||
|---|---|---|---|
DatsSet: как узнать одинаковые ли значения в строках одного столбца |
|||
|
#18+
По идее этот механизм уже имеется хотя бы для обеспечения CachedUpdates. Но реализация может находиться не в родительском классе, а отдаваться потомкам ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
08.11.2019, 13: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:38
|
|||
|---|---|---|---|
|
|||
DatsSet: как узнать одинаковые ли значения в строках одного столбца |
|||
|
#18+
P.S. Кстати, гриды позволяют расцвечивать ячейки. Не все же ячейки какого-то столбца грида менялись, даже если он видим. Может только в одной строчке из 100 изменилось. Вот эту ячейку хорошо бы как-нибудь выделить цветом. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=58&mobile=1&tid=2038864]: |
0ms |
get settings: |
8ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
163ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
32ms |
get tp. blocked users: |
1ms |
| others: | 211ms |
| total: | 444ms |

| 0 / 0 |
