Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Вопросы по Ehlib

Модерирует : ShIvADeSt

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37

Открыть новую тему     Написать ответ в эту тему

Cryogen2003



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
У меня часто выдается ошибка Canvas does not allow drawing. Кто-нибудь сталкивался с такой ошибкой и что делать для решения?
 
Ошибка в основном идет от класса TCustomDBGridEh, процедуры InternalLayout, и строчки кода:

Код:
 
FTitleRowHeight := SetChildTreeHeight(FHeadTree) - iif(dghFixed3D in OptionsEh, 1, 3);
 


----------
Холодильники мы

Всего записей: 745 | Зарегистр. 08-12-2004 | Отправлено: 10:13 22-09-2009
AlexMoor

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Гуру, помогите пожалуйста!
CodeGear RAD Studio 2007 + EhLib 4.5.59
Компонент TDBLookupComoBoxEh упорно не хочет отображать оба поля, заданные через ';' в ListField (т.е. отображает только первое). В выпадающем списке отображает, в свернутом состоянии - никак. DataField - обычное, не лукапное (что согласно справке сказывается на ListField). Что я упустил?

Всего записей: 21 | Зарегистр. 09-01-2007 | Отправлено: 17:42 28-09-2009
Samotek

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
AlexMoor
А, по-моему, и никак нельзя...  

Всего записей: 2448 | Зарегистр. 18-05-2005 | Отправлено: 18:16 28-09-2009
volser

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
AlexMoor
Правильно поведение. В свернутом будет отображаться только одно поле. Если хотите что бы было два нужно их слить в одно поле с помощью запроса.

Всего записей: 713 | Зарегистр. 31-03-2006 | Отправлено: 18:26 28-09-2009
AlexMoor

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
volser
Жесть! Значит RxLib была не так и плоха - в ней это было без проблем, напрасно я решил от нее избавиться... Может попутно еще подскажете, чем в TDBLookupComoBoxEh принципиально отличаются свойства Value и KeyValue?

Всего записей: 21 | Зарегистр. 09-01-2007 | Отправлено: 10:17 29-09-2009
waik



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
AlexMoor одно читаемое и показываемое, второе ключевое, типа id или uin строки - короче говоря для указания что показывать и какое значение возвращать.

Всего записей: 605 | Зарегистр. 15-01-2003 | Отправлено: 10:21 29-09-2009
AlexMoor

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
waik
Из сказанного увы ничего не понял. Не могли бы Вы на пальцах пояснить? Соорудив небольшой примерчик (могу выслать) ни малейшей разницы между ними найти не могу ни при каких условиях и действиях...

Всего записей: 21 | Зарегистр. 09-01-2007 | Отправлено: 19:27 29-09-2009
waik



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
AlexMoor
и очень хорошо что не понял.. Я сам затупил - попутал в голове KeyItems и Items из простого комбобокса. А здесь Судя по всему разницы нет сейчас... Значения возвращаются одинаковые, только KeyValue растёт из TCustomDBLookupCombob, а Value ещё раньше - из TCustomDBEditEh (т.е. то что в едитбоксе написано). У меня EhLib старенькая и там в исходниках cтоят TODO на переделку DataIndependentValue: Variant; { TODO : Rewrite as property Value }
так что использовать KeyValue надо...  

Всего записей: 605 | Зарегистр. 15-01-2003 | Отправлено: 19:02 30-09-2009
AlexMoor

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Ну тогда еще один вопрос по TDBLookupComoBoxEh. То, что в свернутом состоянии он умеет отображать только одно поле я смирился, добавил составное Calculated поле. И рано обрадовался - в выпадающем списке не хочет он искать (по вводу с клавиатуры) по вычисляемому полю. Это фича или баг?

Всего записей: 21 | Зарегистр. 09-01-2007 | Отправлено: 09:29 05-11-2009
volser

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
AlexMoor
Опишите полностью задачу, может есть другое решение вашей проблемы.

Всего записей: 713 | Зарегистр. 31-03-2006 | Отправлено: 12:00 05-11-2009
FyodorovMA

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Вопрос - есть таблица EhLib, сортировка осуществляется по заголовку колонки.
На двойной клик по строке стоит операция редактирования данных в спецформе.
Но если быстро два раза щелкнуть по заголовку колонки происходит обработка редактирования, как этого избежать?

Всего записей: 9 | Зарегистр. 28-12-2006 | Отправлено: 17:00 05-11-2009
fcdobpiy



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
FyodorovMA
на двойной клик такую обработку сделай
 
procedure TfMain.MainGridDblClick(Sender: TObject);
var
  Coord: TGridCoord;
  Point: TPoint;
begin
  GetCursorPos(Point);
  Point := TDBGridEh(Sender).ScreenToClient(Point);
  Coord := TDBGridEh(Sender).MouseCoord(Point.X, Point.Y);
  if (Coord.y <> 0) then
    функция_для_редактирования_данных;
end;

Всего записей: 410 | Зарегистр. 22-08-2005 | Отправлено: 17:52 05-11-2009
FyodorovMA

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
fcdobpiy спасибо за подсказку.

Всего записей: 9 | Зарегистр. 28-12-2006 | Отправлено: 10:03 06-11-2009
AlexMoor

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
volser
Все предельно просто, работало на Rx'овском лукапе (он умел в свернутом состоянии отображать сколько хочешь полей), но мне захотелось еще и лукап с кнопочками, вот и перешел на на EhLib'овский на свою голову.
Упрощенно - и в свернутом, и в развернутом состоянии лукап должен отображать 2 поля (например код и наименование), по первому производится поиск. Сделать 2 колонки в DropDownBox можно двумя путями - или созданием колонок непосредственно в DropDownBox, либо внеся два поля в ListField лукапа. Но в свернутом состоянии все-равно отображается одно поле! Тогда я создал вычисляемое в событии TQuery.OnCalcFields поле, где просто сцепил оба через пробел, это поле прописал в ListField лукапа. А дальше по вкусу - можно в DropDownBox создать 2 колонки из реальных Data-полей, можно этого и не делать - результат одинаков - поиска в выпадающем списке не происходит. Видимо придется делать это синтетическое поле не вычисляемым, а возвращать его из запроса (stored proc) из базы. Но ужасно не хочется,  довольно много запросов переписать надо.

Всего записей: 21 | Зарегистр. 09-01-2007 | Отправлено: 10:10 06-11-2009 | Исправлено: AlexMoor, 10:11 06-11-2009
volser

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
AlexMoor
Вычисляемые поля используются в основном для отображения данных. Большая часть операций над ними не доступна. Лучше использовать какое то вычисляемое поле в самом запросе.

Всего записей: 713 | Зарегистр. 31-03-2006 | Отправлено: 11:19 09-11-2009
AlexMoor

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
volser

Цитата:
Вычисляемые поля используются в основном для отображения данных

Вот я и пытаюсь их использовать для отображения

Цитата:
Лучше использовать какое то вычисляемое поле в самом запросе

Но ужасно не хочется,  довольно много запросов переписать надо. Отсюда и вопрос возник - это баг или фича? Если баг, есть надежда что он будет исправлен, если фича - буду переписывать запросы.

Всего записей: 21 | Зарегистр. 09-01-2007 | Отправлено: 10:22 10-11-2009
volser

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
AlexMoor
Есть еще DevExpress. Возможно ихний лукап вам подойдет.

Всего записей: 713 | Зарегистр. 31-03-2006 | Отправлено: 11:23 10-11-2009
AlexMoor

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
volser
Смотрел. Увы, в нем нет самого главного для меня - в Rx'овском лукапе это называлось DisplayEmpty и EmptyValue, в EhLib'овском DropDownBox.SpecRow (СellsText, Value). Ну и плюс в EhLib'овском есть EditButtons, которые на Rx'овском приходилось вставлять ручками.

Всего записей: 21 | Зарегистр. 09-01-2007 | Отправлено: 09:26 11-11-2009
SergKhM

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Всем привет!
 
Проблема с отрисовкой TDBLookupComoBoxEh во всех версиях после 4..
Если положить на простую форму, все Ок. Но если положить на панель с градиентом, то получаешь мусор по краям.
 
Кто-нибудь боролся с этим?

Всего записей: 83 | Зарегистр. 19-09-2009 | Отправлено: 13:37 25-11-2009
volser

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
SergKhM
Привели бы скриншот ошибки. Может проблема в панели с градиентом?

Всего записей: 713 | Зарегистр. 31-03-2006 | Отправлено: 13:52 25-11-2009
Открыть новую тему     Написать ответ в эту тему

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Вопросы по Ehlib


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru