Ru-Board.club
← Вернуться в раздел «Прикладное программирование»

» Вопросы по Ehlib

Автор: mvictor71
Дата сообщения: 26.11.2010 12:44
w3s9w6
как полностью отключить не подскажу, а вот пустым сделать можно:
в обработчике "OnFillSTFilterListValues"
поставь Processed := true


Добавлено:
Здравствуйте.
Если в выражении для stfilter
первым символом является
апостроф ['] , вызов ApplyFilter
приводит к ошибке "quote is absent"
Подскажите, ка корректно
обработать такую ситуацию.
Или как можно "увидеть" введенное
пользователем выражение до ApplyFilter

Спасибо
Автор: gturk
Дата сообщения: 26.11.2010 15:43
Добрый день.
Возникли вопросы по использованию библиотеки Ehlib 5.x под Delphi,
а именно: по работе с TDBGridEh в режиме группировки данных (DataGrouping.Active=True )
Я использую связку TADOQuery->TADODataDriverEh->TMemTableEh->TDataSource->DBGridEh (все замечательно работает).
Вопросы:
1)Как можно управлять сортировкой записей внутри одной группы,а то в результате порядок следования записей отличается от того который был в dataset`e
2)Как можно управлять отображением "заголовка группы" при ковырянии сырцов TCustomDBGridEh был обнаружен метод DrawGroupDataCell, но он объявлен как protected, а значит для того чтобы до него добраться придется описать своего наследника от TDBGridEh, а этого делать не хотелось бы. Есть ли другой путь?
Автор: Smog
Дата сообщения: 11.01.2011 11:03
Добрый день!
Использую ehlib + ado + mysql
Есть lookup поле, выпадающий список , все как полагается, но не могу сделать по нему сортировку/фильтрацию. По всем остальным полям работает.
При попытки сортировки на нем возникает ошибка "В коллекции не удается найти элемент соответствующий требуемому имени или порядковому числу"
Заранее благодарен даже за наводки
Автор: pvv
Дата сообщения: 19.01.2011 07:46
Люди, кто использовал в проектах RowDetailPanel? У меня Delphi XE+ ehLib 5.2.84 и при попытке положить на этот самый RowDetailPanel любой контрол, кроме Label они остаются на форме, а не попадают в поле RowDetailPanel, т.е. не прячутся ??? Чё за фигня, кто сталкивался, как бороться ? Да пробовал триальный 5.3, который офф. поддерживает ХЕ та же байда.
Автор: Scanderbeg
Дата сообщения: 27.01.2011 14:32
Кто знает, если это возможно, как обойти одну проблему в DBGridEh?
В футере автоматом подсчитывается сумма по колонке. Проблема в том, что в эту сумму должны попасть не все значения колонки, а только те, которые удовлетворяют условию.
Условие базируется на значениях одного столбца, которые возвращает запрос.
Автор: Andryshok
Дата сообщения: 03.02.2011 18:52
pvv А вы сначала выделите Сам Grid а потом на
Цитата:
RowDetailPanel
вешайте контролы и все будет Ок

Автор: snike555
Дата сообщения: 11.02.2011 13:05
В DBLookUpComboBoxEh добавил кнопку которая очищает значение контрола , но фоном за значком моего крестика виднеется кнопка DBLookUpComboBoxEh, как сделать чтобы её небыло видно?
Автор: DenisConqueror
Дата сообщения: 16.03.2011 14:38
Вопрос по DBLookUpComboBoxEh.
Выпадают 2 столбца: ID, Name (это FieldName датасета)
Собственно имя большое и его все не видно. Есть ли возможность расширить строку в выпадающем боксе, чтобы перенесся текст? Если да, то как.
Заранее признателен за ответ.
P.S. EhLib 5.2
Автор: mmlm10
Дата сообщения: 17.03.2011 20:30
DenisConqueror
2 варианта:
1) DropDownBox.Sizeable = True позволит ПОЛЬЗОВАТЕЛЮ ручками изменять ширину выпавшего списка
2) DropDownBox.Width = -1 автоматом увеличит ширину списка так, чтобы стали видны оба поля. Часто это избыточно, имеет смысл найти лучший вариант экспериментально
Автор: DenisConqueror
Дата сообщения: 18.03.2011 14:39
Простите, не правильно сформулировал вопрос. Насчет ширины я все понял. нужно менять высоту) Если по ширине, то пользователь растягивает почти на весь экран, чтобы прочесть запись, это не очень удобно. Хочу сделать именно высоту строк.
Пока нашел временное решение вот такое:

DBLookupComboboxEh1.DataList.RowHeight:=30; //ну тут любое удобное значение, впринципе можно дефалт высоту умножить на 2)

Вроде и так устраивает, но хотелось бы чтобы высота менялась только для нужных строк, а не для всего списка.
Автор: joolio
Дата сообщения: 23.03.2011 11:19
Здравствуйте,

обновил Ehlib до версии 5.2, пропала возможность заполнения списка фильтров под заголовком с FIBDataset, раньше на 4.Х верси устанавливал свойства STFilter колонки и заполнялся автоматом без проблем.

Подскажите как решить?
Автор: DenisConqueror
Дата сообщения: 24.03.2011 09:18
Это работает автоматически при использовании MemTableEh... )
Автор: samec2011
Дата сообщения: 28.03.2011 04:21
Привет.
Есть DBLookupComboboxEh, в нем, в свойстве ListField заданы два поля, через точку с запятой.
Нужно в рунтайме менять значение свойства ListFieldIndex, для того чтобы в зависимости от значения этого свойства в строке редактирования отображался либо первое field либо второе (соответственно и поиск осуществлялся или по первому или по второму полю). Но простая смена значения с 0 на 1 или наоборот ничего не даёт - в строке редактирования отображается field которое было задано в designtime, и поиск идёт по нему же.
Что то не так делаю? Или EhLib-овский DBLookupComboboxEh не позволяет этого реализовать?
Автор: mrUlugbek
Дата сообщения: 17.04.2011 08:28
Как сделать что бы работал быстрее MemTableEh?

Понадобилось сделать в MemtableEh в режиме TreeList
Развернуть и Свернуть с помощью клавиши Left и Right как DBtree Devexpress
Когда стою на child узел нажимаю Left он переходит на родительский запись еще раз нажимаю Left закрывается узел
Сделал вот так
но почемуто медленно работает.
То есть когда стою на childRec нажимаю Left где то секунд 3 думает но не переходить на родителский запись снова нажму то сразу переходит

procedure TGoodsFrm.DBGridEh1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
case Key of
VK_LEFT:
if (DM.MTHElementGr.TreeNode.NodeExpanded)
then
DM.MTHElementGr.TreeNode.NodeExpanded:=false;
else
dm.MTHElementGr.GotoRec(DM.MTHElementGr.TreeNode.NodeParent.Rec);
VK_RIGHT:
DM.MTHElementGr.TreeNodeExpanded:=true;
end;
end;



Как сделать что бы работал быстрее...
Автор: mmlm10
Дата сообщения: 17.04.2011 09:37
mrUlugbek
А со штатными клавишами управления TreeList работает так же?
Автор: mrUlugbek
Дата сообщения: 17.04.2011 10:22
не понял
TreeList обычный?

Добавлено:
Проверил
на C:\Program Files\Borland\Delphi7\Demos\CustomDraw\customdraw.dpr

Все быстро работает

Но как в Ehlibe сделать такой..
Автор: mmlm10
Дата сообщения: 17.04.2011 10:49
Неправильно выразился. Я имел в виду сворачивание/разворачивание MamTableEh.TreeList мышкой.

А рекомендации EHLib по сортировке набора данных, описанные в Руководстве разработчика, выполняются?
Автор: mrUlugbek
Дата сообщения: 17.04.2011 10:54
Да мышкой все нормально работает..

Автор: mmlm10
Дата сообщения: 17.04.2011 11:07
mrUlugbek
Значит дурИт обработчик OnKeyDown
У меня без задержек работает такое:

procedure TeDBGridEH.KeyDown(var Key: Word; Shift: TShiftState);
var i : Integer;
mt : TMemTableEH;
begin
inherited;
if not TryUseMemTableInt then Exit;
if not Assigned(DataSource) then Exit;
if Self.DataSource.DataSet is TMemTableEH
then mt := TMemTableEH(Self.DataSource.DataSet)
else mt := nil;

with DataSource.DataSet do
if State = dsBrowse then begin
case Key of
VK_LEFT :
begin
if (SelectedIndex <> 0) then Exit;
if not Assigned(mt) then Exit;
if mt.TreeList.Active then begin
if mt.TreeNode.NodeHasChildren
then mt.TreeNode.NodeExpanded := False
else begin
i := mt.TreeNode.Rec.DataValues[mt.TreeList.RefParentFieldName,
dvvValueEh];
Locate(mt.TreeList.KeyFieldName, i, []);
end;
end;
end;
VK_RIGHT : begin
if not Assigned(mt) then Exit;
if mt.TreeList.Active then begin
if mt.TreeNode.NodeHasChildren
then begin
mt.TreeNode.NodeExpanded := True;
Key := VK_LEFT;
end;
end;
end;
end;
end;
end;
Автор: mrUlugbek
Дата сообщения: 17.04.2011 11:30
Спасибо тебе стал быстрее работать

Не подскажешь какой Юнит надо добавить
что бы видел эту
TryUseMemTableInt
?
Автор: mmlm10
Дата сообщения: 17.04.2011 11:41

Цитата:
Не подскажешь какой Юнит надо добавить


DBGridEh
Автор: niko2011
Дата сообщения: 04.06.2011 17:36
Есть связка компонентов ADOQUERY + DataSetProviderEh + MemTableEh + DataSource.
при добавлении новых данных в БД Access все проходит гладко, но при их редактировании или удалении вылетает ошибка
Автор: mmlm10
Дата сообщения: 04.06.2011 20:24
niko2011
Что за ошибка?
В DataSetProvider прописаны команды для редактирования/удаления?
Автор: niko2011
Дата сообщения: 04.06.2011 20:28
а где и что там надо прописать?
http://i031.radikal.ru/1106/f0/65f5c0076eca.jpg

Добавлено:
http://imageshack.us/photo/my-images/823/11250548.png/
Автор: mmlm10
Дата сообщения: 04.06.2011 21:35
niko2011
Судя по ошибке, это не связано именно с компонентами EhLib. Где-то в выражениях UpdateSQL и/или Delete SQL DataSetProvider неправильно передаются параметры. Скорее всего, даты или строки.
Автор: niko2011
Дата сообщения: 05.06.2011 05:55
так я использую DataSetProviderEh. там нет настроек.

Добавлено:
разобрался. в DataSetPrivuderEh не указал ключевое поле

Добавлено:
как сделать что-бы ширина колонок автоматически выставлялась длине самой длинной записи в базе?
свойство AutoFitColWidths не подходит, он втискивает все колонки в видимую зону программы.

Добавлено:
компонент DBGridEh
Автор: mmlm10
Дата сообщения: 05.06.2011 08:48

Цитата:
niko2011



Цитата:
как сделать что-бы ширина колонок автоматически выставлялась длине самой длинной записи в базе?

А оно надо?
Я обычно устанавливаю вменяемую ширину колонки и включаю показ хинта. Тогда содержимое поля, не поместившееся целиком в видимую часть колонки, показывается в виде хинта.

Или вариант 2 : Включить OptionsEh := OptionsEh + [dghAutoFitRowHeight]. Тогда длинные строки переносятся автоматом.

Версия EHLib 5
Автор: niko2011
Дата сообщения: 05.06.2011 09:53
мне не нужно переносить строки. нужно именно подогнать размеры колонок под данные.
сейчас я делаю через IniFiles. но хочется что бы она тянулись сами. что бы пользователь не трогал их
Автор: AirWolf82ru
Дата сообщения: 08.06.2011 17:50

Цитата:
мне не нужно переносить строки. нужно именно подогнать размеры колонок под данные.

procedure TForm1.AutoSizeColumn;
var
i: Integer;
begin
for i:=0 to DBGridEh1.Columns.Count-1 do
DBGridEh1.Columns[i].OptimizeWidth;
end;
Автор: niko2011
Дата сообщения: 08.06.2011 19:31
AirWolf82ru Спасибо!
еще такой вопрос. у меня используются сложные заголовки, как импортировать все в Excel с сохранением форматирования колонок. сейчас использую
SaveDBGridEhToExportFile(TDBGridEhExportAsXLS,dbgrdh1,'file.xls',True);

Страницы: 1234567891011121314151617181920212223

Предыдущая тема: Конвертация char в ASCII код; c


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.