On-line: гостей 2. Всего: 2 [подробнее..]
АвторСообщение





Пост N: 512
Зарегистрирован: 08.07.06
ссылка на сообщение  Отправлено: 13.02.17 23:07. Заголовок: Хочется странного - DBEDIT()


Добрый день.

Неожиданно, понял, что меня раздражает в "стандартном" DBEDIT(), который с минимальными добавками (в основном, под мышь) использую из стандартного Harbour 3.4.

Пример: есть НЕБОЛЬШОЙ справочник, наподобие такого:

 
┌─ Выберите способ доставки ─────┐
│008 Газель 1.5т 8 куб.м │
│003 Зил-Бычок 3.0т 17 куб.м │
│002 Зил-Бычок 3.0т 25 куб.м │
│001 МАЗ-Зубренок 5.0т 35 куб.м │
│004 MAN тент 5.0т 36 куб.м │
│005 Foton 5.0т 26 куб.м │
│006 Truck 7.0т 36 куб.м │
│007 Доставка ТК (опл.за кг) │
└────────────────────────────────┘


Юзер выбирает некоторый элемент из него, программа в STATIC запоминает - чтобы юзеру было удобно. Например, он выбрал Foton.
Через некоторое время юзер вновь открывает этот справочник, по STATIC переменной подставляется "прежнее" значение, оно становится "текущим" в этом справочнике, а DBEDIT() выглядит примерно таким образом:

 
┌─ Выберите способ доставки ─────┐
│005 Foton 5.0т 26 куб.м │
│006 Truck 7.0т 36 куб.м │
│007 Доставка ТК (опл.за кг) │
│ │
│ │
│ │
│ │
│ │
└────────────────────────────────┘


Ну некузяво-же...

Хотелось-бы видеть таблицу без пустого пространства снизу, но при этом текущая запись д.б. той, которую юзер использовал в предыдущий раз.
Как с этим можно побороться?

Загнать справочник строками в ACHOICE, который не имеет таких проблем - тоже способ, но какой-то уж очень "европейский".

Спасибо.

Спасибо: 0 
ПрофильЦитата Ответить
Ответов - 24 , стр: 1 2 All [только новые]







Пост N: 517
Зарегистрирован: 08.07.06
ссылка на сообщение  Отправлено: 23.02.17 10:26. Заголовок: SergKis пишет: У ме..


SergKis пишет:

 цитата:
У меня такой вышел вариант


Попробовал.
Все супер. DBEDIT() работает так, как и должен.

Интересное решение с внедрением "своих" функций в тело чужого класса.

Не знал о нем, спасибо.



Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 135
Зарегистрирован: 24.04.13
ссылка на сообщение  Отправлено: 21.09.17 13:19. Заголовок: Можно ли с DBEDIT сд..


Можно ли с DBEDIT сделать что-то подобное чтобы "заморозить" пару первых столбцов ?

Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 6594
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 21.09.17 13:23. Заголовок: Можно если переделат..


Можно если переделать сырец , как морозить колонки смотри в примерах

Спасибо: 0 
ПрофильЦитата Ответить
Администратор




Пост N: 3598
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 21.09.17 13:56. Заголовок: dbEdit реализован че..


dbEdit реализован через класс TBrowse, но в работает в кондовом стиле 30-летней давности Summer'87 (2017-1987=30(!) лет).

Если совсем не заморачиваться, то надо скопировать модуль dbedit.prg себе в сырцы, добавить еще один параметр к функции dbedit, добавить фрагмент:

if nFreeze # nil
oBrowse:freeze := nFreeze
endif

прилинковать исправленный модуль, и радоваться.

Лучше конечно сделать свою реализацию для использования класса TBrowse, который тоже старичок, ему аж 25 лет.

Спасибо: 0 
ПрофильЦитата Ответить
Ответов - 24 , стр: 1 2 All [только новые]
Ответ:
1 2 3 4 5 6 7 8 9
большой шрифт малый шрифт надстрочный подстрочный заголовок большой заголовок видео с youtube.com картинка из интернета картинка с компьютера ссылка файл с компьютера русская клавиатура транслитератор  цитата  кавычки моноширинный шрифт моноширинный шрифт горизонтальная линия отступ точка LI бегущая строка оффтопик свернутый текст

показывать это сообщение только модераторам
не делать ссылки активными
Имя, пароль:      зарегистрироваться    
Тему читают:
- участник сейчас на форуме
- участник вне форума
Все даты в формате GMT  3 час. Хитов сегодня: 30
Права: смайлы да, картинки да, шрифты да, голосования нет
аватары да, автозамена ссылок вкл, премодерация откл, правка нет