|
|
#21 |
|
Участник
|
Цитата:
|
|
|
|
|
#22 |
|
Участник
|
Цитата:
Сообщение от Bird
Цитата:
![]() |
|
|
|
|
#23 |
|
Участник
|
Цитата:
![]() Это как один из вариантов решения. Кстати он будет идинственным верным, если эти проставленные галочки должны быть уникальны для каждого пользователя, т.е. чтобы одновременно с этим функционалом могли несколько человек работать. |
|
|
|
|
#24 |
|
Участник
|
Цитата:
|
|
|
|
|
#25 |
|
Участник
|
Цитата:
Сообщение от Bird
)))Создаешь временную таблицу, подбери любую, главное чтобы она подходила по твоему первичному ключу (в твоем случае, чтобы у нее в первичный ключ входило поле типа Code нужной длинны) и чтобы в ней было поле типа bool. Дальше, при открытии формы проходишь по всему списку сотрудников и переносишь их коды во временную таблицу. Выводишь в tablebox поле, с переменной временная_таблица.булево_поле Далее по нажатию кнопки (или по закрытию формы) ставишь фильтр во временной таблице по булеву признаку, и на каждую запись находишь нужного сотрудника и делаешь с ним что хочешь ![]() Например к таблице Employee мне нужен CheckBox и поле типа TextBox, checkBox не расчитывается а нажимается/отжимается на форме, текс так же вносится ручками в форме. Создаю Временну таблицу TempEmploee. на Form - OnInit() навешиваю Код: IF Employee.FIND('-') THEN
BEGIN
REPEAT
TempEmployee.INIT;
TempEmployee."No." := Employee."No.";
TempEmployee.INSERT;
UNTIL (Employee.NEXT = 0)
END;ввожу какой-нибудь текст в TextBox - перехожу на следующаую запись - он там то же появляется, так же с CheckBox. как сделать что бы для каждой записи сохранялось собсвенное значение, как совместить перемещение по Таблице с перемещением по TempEmployee? |
|
|
|
|
#26 |
|
Участник
|
Надо написать две процедуры SetЗначение и GetЗначение. Когда вы вводите текст руками в TextBox нужно загетить запись во временной таблице (если нет - создать, этим будет заниматься GetЗначение()) и прописать в ваше зарезервированное поле введенное пользователем значение. А при хождении по записям на OnAfterGetCurrRecord() формы вызывать GetЗначение. Которая будет гетить (если нет - создавать запись).
|
|
|
|
|
#27 |
|
Участник
|
Чёт я ниче не понял, но я обычно чтоб не ставить галочки использую Ctrl+F1. И...
Код: MARKEDONLY(TRUE) делаем чекбокс и.. Код: OnPush() MARK(not MARK); Получеаем отмеченные Код: MARKEDONLY(true); TempRec верменная таблица, точно такаяже, как та с которой работаем. в чекбоксе соурс TempRec.GET(REC.no); Код: OnPush() IF TempRec.GET(REC.no) THEN TempRec.DELETE ELSE BEGIN TempRec.COPY(REC); TempRec.Insert; end Если в списке работаем, то можно в Ассист едит код запихнуть P.S. На респект не напрашиваюсь, но если можно то... |
|
|
|
|
#28 |
|
Участник
|
Цитата:
Сообщение от romeo
Надо написать две процедуры SetЗначение и GetЗначение. Когда вы вводите текст руками в TextBox нужно загетить запись во временной таблице (если нет - создать, этим будет заниматься GetЗначение()) и прописать в ваше зарезервированное поле введенное пользователем значение. А при хождении по записям на OnAfterGetCurrRecord() формы вызывать GetЗначение. Которая будет гетить (если нет - создавать запись).
когда я ввожу текст, на какой триггер повесить обработку? и какой код? что-то вроде Код: SetValue()
if tempEmployee.GET("No.") Then
tempEmloyee.modify;
else
tempEmployee.insert; |
|
|
|
|
#29 |
|
Участник
|
для TextBoxa вроде бы получилось
Source - TempEmployee.Birthplace onBeforInput () TempEmployee.GET("No.") AfterValidate () TempEmployee.MODIFY; и на AfterGetRecord TempEmployee.GET("No."); а вот для CheckBox что-то не получается |
|
|
|
|
#30 |
|
Участник
|
|
|
|