Форум » GUI » Форма, BtnTextBox, TextBox и DatePicker » Ответить

Форма, BtnTextBox, TextBox и DatePicker

Vlad04: На форме есть объекты разные, речь идет о BtnTextBox, TextBox и DatePicker, т.е объектах , имеющих свойство Field. 1)Действительно, если это поле заполнить ссылкой на символьное поле, к примеру - dogovor->NR_DOG, то при открытии формы НОМЕР договора отображается. Если поле числовое, к примеру - dogovor->SUMM , то при попытке открыть форму программа вываливается. 2) При закрытии формы, внесенные изменения никак в базе не сохраняются. Commit не помогает. Или нужно Replace выполнять ? Форма строится в Дизайнере.

Ответов - 38, стр: 1 2 All

Haz: Vlad04 пишет: Commit не помогает. Commit тут не поможет , эти контролы не осуществляют прямое редактирование базы. Они всего лишь читают символьное поле в массив и дальше работа идет с массивом. Во всяком случае так Combo работает, думаю и другие контролы тоже так. Чтобы сохранить изменения в базе нужно это делать самостоятельно , читая значение из контрола и выполняя Replace Поправлюсь ! Выше это не списочные контролы , работают не с массивом а с простым значением которое читают из базы. Для TextBox это символьное, для DatePicker - Data В остальном все так ЗЫ TextBox понимает числа если ему указать что он NUMERIC

gfilatov2002: Vlad04 пишет: объектах , имеющих свойство Field. Рекомендую для начала изучить базовый пример в папке samples\Basic\DATA_BOUND Думаю, что после этого изучения, станет понятно, как работать с такими обьектами

Vlad04: gfilatov2002 Пример изучил. Построил аналогичный в IDE DATA_BOUND, IDE, сравнил. 1) Если поле NUMERIC, то в дизайнере DataType NUMERIC НЕ присваивается ! С Ошибкой вылетает


Vlad04: И ещё Win_1.Text_1.Save Win_1.Text_2.Save Win_1.Text_3.Save Win_1.Date_4.Save Win_1.Check_5.Save Win_1.Edit_6.Save Наверно, можно как-то в цикле сделать по объектам

Haz: Vlad04 пишет: 1) Если поле NUMERIC, то в дизайнере DataType NUMERIC НЕ присваивается ! С Ошибкой вылетает открыл в дизайнере пример TEXTBOX - все присваивается http://shot.qip.ru/00QkpQ-2Myy9DUE8/

Vlad04: И даже в том примере, что я выложил ? Присваивается.Но если форму сохранить , а потом снова открыть , то тип поля CHARACTER Компилируется, но при запуске вот такой лог Error BASE/1100 Argument error: TRIM</p><BR> Called from RTRIM(0) Called from _SETVALUE(399) Called from _DATATEXTBOXREFRESH(1069) Called from _REFRESH(5246) Called from _REFRESHDATACONTROLS(1466) Called from _ACTIVATEWINDOW(1381) Called from DOMETHOD(4654) Called from MAIN(9)

Haz: Vlad04 пишет: Наверно, можно как-то в цикле сделать по объектам Можно конечно, пару недель назад на форуме было "все контролы на форме" . только нужно быть уверенным что все контролы на форме имеют метод Save

Haz: Vlad04 пишет: Присваивается.Но если форму сохранить , а потом снова открыть , то тип поля CHARACTER К Проверил - есть такой косяк в дизайнере поскольку им не пользуюсь - не сразу сообразил как протетсть. PS. не пользуюсь по причине жутких тормозов при редактировании большой формы и ее перемещении по экрану, настолько жутких , что невозможно пользоваться дизайнером. Ситуация немного улучшается если в исходниках дизайнера закоментить прорисовку сетки, но все равно есть тормоза при перемещении формы - идет перезаполнение пропертей контролов. По уму все прорисовки надо выполнять один раз - при отпускании левой кнопки мыши , а не по событию MOVE окна. Еще давно попытался переделать, сразу не вышло , так и забросил дизайнер, все прописываю руками.

Vlad04: Проверил - есть такой косяк в дизайнере Печально. В данном конкретном случае я это обойду.Насчет тормозов дизайнера- есть конечно, но для меня не критично. Не надо создавать слишком сложные формы

gfilatov2002: Haz пишет: есть такой косяк в дизайнере Уже поправил код Ide с учетом Ваших замечаний, добавил также пример DATA_BOUND для проверки Можно обновиться через меню Help->Update Haz пишет: все прописываю руками Я также практически не использую дизайнер форм, но все же рекомендую посмотреть простую утилиту xForm, которая имеет очень компактный код и будет обновлена в следующей сборке

Vlad04: gfilatov2002 Огромное спасибо за оперативность.

Haz: gfilatov2002 пишет: рекомендую посмотреть простую утилиту xForm, Григорий , я ее смотрю постоянно , возможно со временем будет достойная замена дизайнеру. Идеи там заложены удобные. Кстати в ней та же болячка присутствует - при таскании окна по экрану идет попытка постоянного рисования сетки, а процесс этот не быстрый Хотя в xForm это прорисовка значительно быстрее, да и точки там отключаемые ))

gfilatov2002: Haz пишет: при таскании окна по экрану идет попытка постоянного рисования сетки Прорисовку сетки в этой утилите можно отменить (сейчас по нажатию кнопки, а в следующей версии это будет checkbutton)

Haz: gfilatov2002 пишет: Прорисовку сетки в этой утилите можно отменить (сейчас по нажатию кнопки, а в следующей версии это будет checkbutton) Да есть такое - забыл сразу написать

Haz: gfilatov2002 пишет: а в следующей версии это будет checkbutton) Можно в настройки вынести шаг сетки ? На некоторых формах у меня 10 это много, использую 5

gfilatov2002: Haz пишет: Можно в настройки вынести шаг сетки ? Добавил два недокументированных параметра в файл настройки setup.ini: VertDotsStep=5 HorzDotsStep=5

Haz: gfilatov2002 пишет: Добавил два недокументированных параметра в файл настройки setup.ini: Может интересный инструмент получиться

Vlad04: xForm А примеры с xForm ?

Haz: Vlad04 пишет: А примеры с xForm ? А нету

Vlad04: Haz А нету Посмеялся от души . На мой взгляд у xForm, кроме тех, что вы указали есть следующие недостатки : Формат сохранения данных формы не совсем удобный - вручную его редактировать сложно, легко ошибиться.



полная версия страницы