Цитата:
Сообщение от
syl
Вопрос как правильно хранить строки отмеченные галочками, ведь когда переключаешься по записям в заголовках отметки пропадают. Я пока думаю создать временную таблицу, но может для этого есть какой то более правильный "механизм"?
На мой взгляд, тут многое зависит от предполагаемых объемов работы пользователя по формированию этого нового журнала. Проще говоря - от времени, которое он будет тратить на эту работу. Если предполагается большое кол-во (десятки) исходных журналов и/или большое кол-во строк в них, то я бы не рекомендовал где-то что-то
временно хранить. Пользователь может отвлечься, а вернувшись, увидеть, что у него сессия отвалилась, и все результаты работы потеряны. Или он захочет начать выбор записей вечером, а продолжить - следующим утром, а ночью АОС перезапустили... Ну и тому подобные примеры.
Поэтому напрашивается решение, в котором исключены временные таблицы или структуры в памяти. Добавляйте строки в новый журнал "пачками". Грубо говоря, как в каком-нибудь "коммандере" (файловом менеджере): зашел в папку, выбрал файлы, скопировал. Зашел в следующую папку, выбрал, скопировал...Совершенно естественный процесс. Так и тут - промаркировал строки, нажал кнопку "создать/добавить", перешел в следующий журнал, снова промаркировал... В качестве "обратной связи" (если я хочу утром вспомнить, что я там навыбирал вчера вечером) будет выступать открытая рядом стандартная форма целевого журнала. Записи в ней уже сохранены и никуда не денутся, что бы ни произошло в моем сеансе работы. Соответственно перед началом маркировки пользователь должен выбрать существующий целевой журнал или указать, что собирается наполнять новый. А чтобы не забывали жать кнопку, можно сделать напоминалку на событии перехода к другому журналу: мол "имеются промаркированные строки, вы точно не хотите их добавить в журнал?"