Наши преимущества

Решение проблем с EhLib

Как в DbgridEh сделать фильтр с списками как в Ексель?
У меня датасет IbClientDataset.
 
Люди, всем доброго времени суток!
Вдруг у кого есть Help для EHLib на русском языке да и не жалко, то буду признателен за ссылочку.
 
В UpdateHotTackInfo неверно определяется количество колонок

В UpdateHotTackInfo неверно определяется количество колонок, если есть закрепленные Это приводит к access violation. Отключение dghHotTrack не помогает, так как метод вызывается и при отключенном dghHotTrack. Надо добавить выход из метода, если dghHotTrack отключен.

unit DBGridEh;
...
procedure TCustomDBGridEh.UpdateHotTackInfo(X, Y: Integer);
...
begin
if not (dghHotTrack in OptionsEh) then //<--iid
exit;
 
Наткнулся на проблему (в Ehlib) в версии - v4.5.62
В функции SaveDBGridEhToExportFile (экспорта данных) для форматов HTML и RTF
(TDBGridEhExportAsHTML, TDBGridEhExportAsRTF) FastMM4 сигнализирует о небольшой утечке памяти (провидимому не полностью освобождаются ресурсы в TList).
 
Доброго времени суток!
Кто-то знает как в список фильтра (DBGridEh1.STFilter) добавить свое значение например «Условие…», и при выборе его выполнить что-нибудь?
 
Уже добавили в версии 5.1

+ The interface of droped down list of SubTitleFilter was changed. Now it is allowed to select requaried values in the list unsing checkboxes. The Item (Custom...) was added in the list of commands of filter droped down list. When selected, the simple filter dialog appeares to enter filter expression.

+ When the list of items for droped down filter list is formed, the current filter takes in account (Only when grid is conneccted to TMemTableEh).

+ New event added in Grid (TDBGridEh.OnFillSTFilterListValues), in the grid column (TColumnEh.OnFillSTFilterListValues) and in the TDBGridEhCenter (TDBGridEhCenter.OnFillSTFilterListValues). You can use event to fill list of droped down list of STFilter cell.
 
Еще заметил глючок. Если задать отображение номера записи для грида, то при каких-то условиях (не могу найти закономерность - разные гриды и глюк не на всех появляется) номера записи не показываются - ширина колонки в ИДЕ - нормальная - все отображается, и индикатор, и номер записи, в рантайме ширина колонки почему-то меньше и соотв. номер записи усекается.

Я тут поковырялся в исходнике DBGridEh.pas, кому будет интересно:

function TCustomDBGridEh.CalcIndicatorColWidth: Integer;
...
if FDataLink.Active
then ARecordCount := FDataLink.DataSet.RecordCount
else ARecordCount := 0;
ARecordCount := ARecordCount div 10;
WidthText := '0'; !!! сделал '00' и номера записей не усекаются!
for i := 0 to 100 do
...


Но с шириной все равно какие-то бока. Сначала, как только открываю окно с DBGrid - все ок. А потом стоит кликнуть на title (автосортировка) и номера сдвигаются влево на несколько пикселей и ширина колонки с номерами становится меньше. Этот глюк хорошо видно, если записей больше 9, т.е. число их 2-х цифр и выше. Вышеуказанный код позволяет сделать так, чтобы номера не усекались (ширина колонки с номерами становится больше), но после клика - ширина колонки всеравно почему-то немного уменьшается.
 
Последнее редактирование модератором:
Никто не сталкивался с такой проблемой?...ehlib версия 5002, когда пытаешься на column грида повесить readonly вылетает violation, с более старой версией все работало...
 
Кстати в этой же версии (5.0.13) заметил глючок. Открыл как-то раз dbgrid и все строки стали высотой где-то по 2 пикселя, вобщем ужас..я закрыл и снова открыл - все ок. В чем прикол - не понял. Ошибка появилась 1 раз и 2-й раз появляться не хочет. Может кто сталкивался с таким?
 
Верх