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

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в 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

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

DenisConqueror

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Простите, не правильно сформулировал вопрос. Насчет ширины я все понял. нужно менять высоту) Если по ширине, то пользователь растягивает почти на весь экран, чтобы прочесть запись, это не очень удобно. Хочу сделать именно высоту строк.
Пока нашел временное решение вот такое:
 
DBLookupComboboxEh1.DataList.RowHeight:=30; //ну тут любое удобное значение, впринципе можно дефалт высоту умножить на 2)
 
Вроде и так устраивает, но хотелось бы чтобы высота менялась только для нужных строк, а не для всего списка.

Всего записей: 19 | Зарегистр. 17-05-2009 | Отправлено: 14:39 18-03-2011 | Исправлено: DenisConqueror, 14:53 18-03-2011
joolio

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Здравствуйте,
 
обновил Ehlib до версии 5.2, пропала возможность заполнения списка фильтров под заголовком с FIBDataset, раньше на 4.Х верси устанавливал свойства STFilter колонки и заполнялся автоматом без проблем.
 
Подскажите как решить?

Всего записей: 2 | Зарегистр. 10-02-2007 | Отправлено: 11:19 23-03-2011
DenisConqueror

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

Всего записей: 19 | Зарегистр. 17-05-2009 | Отправлено: 09:18 24-03-2011
samec2011



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Привет.
Есть DBLookupComboboxEh, в нем, в свойстве ListField заданы два поля, через точку с запятой.
Нужно в рунтайме менять значение свойства ListFieldIndex, для того чтобы в зависимости от значения этого свойства в строке редактирования отображался либо первое field либо второе (соответственно и поиск осуществлялся или по первому или по второму полю). Но простая смена значения с 0 на 1 или наоборот ничего не даёт - в строке редактирования отображается field которое было задано в designtime, и поиск идёт по нему же.
Что то не так делаю? Или EhLib-овский DBLookupComboboxEh не позволяет этого реализовать?

Всего записей: 72 | Зарегистр. 14-03-2007 | Отправлено: 05:21 28-03-2011
mrUlugbek



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Как сделать что бы работал быстрее 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;
 
 
 
Как сделать что бы работал быстрее...

Всего записей: 879 | Зарегистр. 04-04-2011 | Отправлено: 09:28 17-04-2011
mmlm10

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
mrUlugbek
А со штатными клавишами управления TreeList работает так же?

Всего записей: 453 | Зарегистр. 16-12-2003 | Отправлено: 10:37 17-04-2011
mrUlugbek



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
не понял
TreeList обычный?
 
Добавлено:
Проверил
на C:\Program Files\Borland\Delphi7\Demos\CustomDraw\customdraw.dpr
 
Все быстро работает  
 
Но как в Ehlibe сделать такой..

Всего записей: 879 | Зарегистр. 04-04-2011 | Отправлено: 11:22 17-04-2011
mmlm10

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Неправильно выразился. Я имел в виду сворачивание/разворачивание MamTableEh.TreeList мышкой.
 
А рекомендации EHLib по сортировке набора данных, описанные в Руководстве разработчика, выполняются?

Всего записей: 453 | Зарегистр. 16-12-2003 | Отправлено: 11:49 17-04-2011
mrUlugbek



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Да мышкой все нормально работает..
 

Всего записей: 879 | Зарегистр. 04-04-2011 | Отправлено: 11:54 17-04-2011
mmlm10

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
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;

Всего записей: 453 | Зарегистр. 16-12-2003 | Отправлено: 12:07 17-04-2011
mrUlugbek



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Спасибо тебе стал быстрее работать
 
Не подскажешь какой Юнит надо добавить
что бы видел эту  
TryUseMemTableInt
?

Всего записей: 879 | Зарегистр. 04-04-2011 | Отправлено: 12:30 17-04-2011
mmlm10

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

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

 
DBGridEh

Всего записей: 453 | Зарегистр. 16-12-2003 | Отправлено: 12:41 17-04-2011
niko2011

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Есть связка компонентов ADOQUERY + DataSetProviderEh + MemTableEh + DataSource.
при добавлении новых данных в БД Access все проходит гладко, но при их редактировании или удалении вылетает ошибка

Всего записей: 6 | Зарегистр. 04-06-2011 | Отправлено: 18:36 04-06-2011
mmlm10

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
niko2011
Что за ошибка?
В DataSetProvider прописаны команды для редактирования/удаления?

Всего записей: 453 | Зарегистр. 16-12-2003 | Отправлено: 21:24 04-06-2011
niko2011

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
а где и что там надо прописать?
http://i031.radikal.ru/1106/f0/65f5c0076eca.jpg
 
Добавлено:
http://imageshack.us/photo/my-images/823/11250548.png/

Всего записей: 6 | Зарегистр. 04-06-2011 | Отправлено: 21:28 04-06-2011
mmlm10

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
niko2011
Судя по ошибке, это не связано именно с компонентами EhLib. Где-то в выражениях UpdateSQL и/или Delete SQL DataSetProvider неправильно передаются параметры. Скорее всего, даты или строки.

Всего записей: 453 | Зарегистр. 16-12-2003 | Отправлено: 22:35 04-06-2011
niko2011

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
так я использую DataSetProviderEh. там нет настроек.
 
Добавлено:
разобрался. в DataSetPrivuderEh не указал ключевое поле
 
Добавлено:
как сделать что-бы ширина колонок автоматически выставлялась длине самой длинной записи в базе?
свойство AutoFitColWidths не подходит, он втискивает все колонки в видимую зону программы.
 
Добавлено:
компонент DBGridEh

Всего записей: 6 | Зарегистр. 04-06-2011 | Отправлено: 06:55 05-06-2011
mmlm10

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

Цитата:
niko2011

 

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

А оно надо?
Я обычно устанавливаю вменяемую ширину колонки и включаю показ хинта. Тогда содержимое поля, не поместившееся целиком в видимую часть колонки, показывается в виде хинта.
 
Или вариант 2 : Включить OptionsEh := OptionsEh + [dghAutoFitRowHeight]. Тогда длинные строки переносятся автоматом.
 
Версия EHLib 5

Всего записей: 453 | Зарегистр. 16-12-2003 | Отправлено: 09:48 05-06-2011
niko2011

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
мне не нужно переносить строки. нужно именно подогнать размеры колонок под данные.
сейчас я делаю через IniFiles. но хочется что бы она тянулись сами. что бы пользователь не трогал их

Всего записей: 6 | Зарегистр. 04-06-2011 | Отправлено: 10:53 05-06-2011
AirWolf82ru



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

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

procedure TForm1.AutoSizeColumn;
var
  i: Integer;
begin
    for i:=0 to DBGridEh1.Columns.Count-1 do
      DBGridEh1.Columns[i].OptimizeWidth;
end;

Всего записей: 17 | Зарегистр. 28-08-2006 | Отправлено: 18:50 08-06-2011
Открыть новую тему     Написать ответ в эту тему

Страницы: 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