|
Карточка редактирования записи
|
|||
---|---|---|---|
#18+
Пожалуйста, помогите советом! На работе чуть не подрались в споре о реализации карточного редактирования записи в таблице..Надо срочно сделать, а я так и не пришла к выводу, как это правильно делают. На форме есть таблица, построенная на sqlselect, по кнопке для текущей записи вызывается форма создания/редактирования. Шефы говорят - делай ее просто полями и вписывай туда значения текущей строки/считывай из полей в таблицу соответственно. А если dropdown-ы? Я же замучаюсь создавать эти списки для простых полей. Как нужно создавать карточку добавления/редактирования, что она собой должна по-правильному представлять? ... |
|||
:
Нравится:
Не нравится:
|
|||
20.05.2009, 22:36 |
|
Карточка редактирования записи
|
|||
---|---|---|---|
#18+
на всякий случай (у нас из-за этого один вариант отвалился) - у некоторых таблиц, для которых делается интерфейс, нет и не будет первичных ключей. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.05.2009, 22:47 |
|
Карточка редактирования записи
|
|||
---|---|---|---|
#18+
Лампочкана всякий случай (у нас из-за этого один вариант отвалился) - у некоторых таблиц, для которых делается интерфейс, нет и не будет первичных ключей. При записи карточки обязателен должен быть уникальный набор полей для каждой записи (список уникальных ключей, полей в Update Propertis) в DW карточки. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.05.2009, 23:02 |
|
Карточка редактирования записи
|
|||
---|---|---|---|
#18+
Лампочкау некоторых таблиц, для которых делается интерфейс, нет и не будет первичных ключей. что за бред? какая у вас БД? ... |
|||
:
Нравится:
Не нравится:
|
|||
21.05.2009, 00:01 |
|
Карточка редактирования записи
|
|||
---|---|---|---|
#18+
ЛампочкаШефы говорят - делай ее просто полями и вписывай туда значения текущей строки/считывай из полей в таблицу соответственно. А если dropdown-ы? Я же замучаюсь создавать эти списки для простых полей. Как нужно создавать карточку добавления/редактирования, что она собой должна по-правильному представлять? Если правильно понял, шефы предлагают не использовать DW типа Free Form, а реализовать форму с помощью отдельных контролов типа singlelineedit и прочее. Этого делать нельзя ни в коем случае. Только DW. А уже с ним организовать либо сохранение в БД, либо копирование обратно в грид при сохранении записи. Если в таблице нет первичного ключа или иных полей выполняющих роль уникального идентификатора записи, то в DW, в update properties нужно указать все поля как ключевые и флаг Key Modification поставить "Update" Если же возможно дублирование всех полей то PowerBuilder не предназначен для работы с такими таблицами. Хотя для некоторых БД есть возможность использования столбца ROWID (физический адрес строки в БД). ... |
|||
:
Нравится:
Не нравится:
|
|||
21.05.2009, 06:01 |
|
Карточка редактирования записи
|
|||
---|---|---|---|
#18+
Anatoly Moskovsky, спасибо за ответ, можно вас еще поспрашивать?:) Да, про то, что все поля придется внести в уникальный ключ, я утром уже вспомнила) Я не знаю, как организовать эту карточку. Ведь если делать просто DW, основанное на SQLSelect, туда выпадут все записи таблицы, а это не гут плюс синхронизация с текущей записью при вызове карточки. Я в чем-то не права? Туда нужно вытягивать одну запись? Или вызов карточки на создание..тот же вопрос. Заранее спасибо! ... |
|||
:
Нравится:
Не нравится:
|
|||
21.05.2009, 09:09 |
|
Карточка редактирования записи
|
|||
---|---|---|---|
#18+
ЛампочкаAnatoly Moskovsky, спасибо за ответ, можно вас еще поспрашивать?:) Да, про то, что все поля придется внести в уникальный ключ, я утром уже вспомнила) Я не знаю, как организовать эту карточку. Ведь если делать просто DW, основанное на SQLSelect, туда выпадут все записи таблицы, а это не гут плюс синхронизация с текущей записью при вызове карточки. Я в чем-то не права? Туда нужно вытягивать одну запись? Или вызов карточки на создание..тот же вопрос. Заранее спасибо! В вашем случае я бы делал так. Сделать форму для записи на том же запросе что и грид Сама форма с БД не работает (т.е. не вызывается retrieve()/update() для нее) При открытии формы в нее через RowsCopy() или другим способом копируется текущая строка грида или при вставке новой записи просто InsertRow() Если в форме есть DDDW, то их необходимо подгрузить из БД, для чего для каждого поля DDDW делается GetChild(), child.SetTransObject(...), child.Retrieve() При сохранении формы - строка копируется/вставляется обратно в грид (можно копировать только измененные поля - проверка через GetItemStatus()). Сохранение в БД делается только для грида ... |
|||
:
Нравится:
Не нравится:
|
|||
21.05.2009, 09:26 |
|
Карточка редактирования записи
|
|||
---|---|---|---|
#18+
Anatoly Moskovsky, Вы не представляете, как Вы меня выручили! У меня есть еще вопросик..правда, я пока по нему информацию даже не успела поискать. Есть требование: когда кликаешь мышью по заголовку столбца, нужно, чтобы столбец сортировался. В ИС, в которой я работала раньше, было так - один клик - сортируется asc, следующий - desc, следующий - снова asc и т.д. Я не знаю, как узнавать/запоминать, как отсортирован столбец, чтобы следующий клик менял сортировку. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.05.2009, 09:41 |
|
Карточка редактирования записи
|
|||
---|---|---|---|
#18+
ЛампочкаAnatoly Moskovsky, Вы не представляете, как Вы меня выручили! У меня есть еще вопросик..правда, я пока по нему информацию даже не успела поискать. Есть требование: когда кликаешь мышью по заголовку столбца, нужно, чтобы столбец сортировался. В ИС, в которой я работала раньше, было так - один клик - сортируется asc, следующий - desc, следующий - снова asc и т.д. Я не знаю, как узнавать/запоминать, как отсортирован столбец, чтобы следующий клик менял сортировку. Анализировать выражение Код: plaintext
... |
|||
:
Нравится:
Не нравится:
|
|||
21.05.2009, 09:54 |
|
Карточка редактирования записи
|
|||
---|---|---|---|
#18+
Марк описался На самом деле Код: plaintext
Главная деталь любой машины - голова ее владельца ... |
|||
:
Нравится:
Не нравится:
|
|||
21.05.2009, 10:00 |
|
Карточка редактирования записи
|
|||
---|---|---|---|
#18+
Кусок кода как пример Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20.
Главная деталь любой машины - голова ее владельца ... |
|||
:
Нравится:
Не нравится:
|
|||
21.05.2009, 10:02 |
|
|
start [/forum/topic.php?fid=15&fpage=34&tid=1336277]: |
0ms |
get settings: |
11ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
34ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
43ms |
get tp. blocked users: |
1ms |
others: | 313ms |
total: | 435ms |
0 / 0 |