Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Базы данных и репортинг > DbgridEh странно себя ведет,не показывает записи!


Автор: Salaman 1.4.2009, 09:06
Привет всем!
Возникло вопрос по Ehlib 4.4!
DbgridEh странно себя ведет,не показывает записи при пере открытие IbClientDataseta.
Стараюсь объяснить.
form1>IbDatabase)IBtransation>Ibclientdataset>Ibdatasource>DbgridEh1

я в событие Button Onclick отркываю Ibclientdataset
и там динамическое добавляю два поля один lookup поля и второй вычисляемое поля таким способом
Код

begin
  sql:='select * from table1 order by id';
  with Ibclientdataset do  
    begin
      PacketRecords := 0;
      DisableControls;
      try
        ibclientdataset.commandtext:=sql;
        open;
        Close;
        for i := 0 to FieldDefs.Count - 1 do
          FieldDefs.Items[i].CreateField(Self);
        with TStringField.Create(Self) do
        begin
          FieldName := 'STATE_NAME';
          DataSet := ibclientdataset;
          FieldKind := fkLookup;
          KeyFields := 'state';
          LookUpDataset := ibStateDataset;
          LookUpKeyFields := 'id';
          LookUpResultField := 'name';
          Size := 80;
          with FieldDefs.AddFieldDef do
          begin
            Name := FieldName;
            DataType := ftString;
            Size := 80;
          end;
        end;
        with TFloatField.Create(Self) do
        begin
          FieldName := 'summa';
          DataSet := IbClientdataset;
          FieldKind := fkCalculated;
//          Size := 8;
          with FieldDefs.AddFieldDef do
          begin
            Name := FieldName;
            DataType := ftfloat;
//            Size := 8;
          end;
        end;
      finally
        PacketRecords := 20;
        EnableControls;
      end;    
       Open;
    end;
end;  

Когда первый раз запускаю то нормально все показывает, а когда нажимаю еще раз кнопку в открытием Ibclientdataset
тогда в DbgirdEh записи исчезают, количество строк показывают просто в ячейках пусто. Внизу грида есть DbEditEh>IbDatasourse
на нем не исчезают при повторном открытия,потом тестировал на обычном Dbgride на нем все нормально сколько раз не нажимаю все
нормально показывают.
Помогите в чем проблема в этом DbgridEh.
Если уберу динамик поля то нормально показывают DbgirEh..

Автор: Frees 1.4.2009, 09:31
тоесть при втором нажатии у тебя еще раз поле STATE_NAME добавляется и их становится 2 одинаковых, может в этом косяк


Автор: Salaman 1.4.2009, 09:54
Не знаю я же Close делаю..
Интересное что в обычном гриде все работает!

Автор: Jakob 10.4.2009, 09:32
Можно ли в TDBGridEh автоматически переносить информацию на другую строку, тем самым автоматически регулировать высоту каждой строки/записи
Фиксированно разобрался
Просто есть записи где инфа везает в одну строку, а есть и в 10

Автор: Frees 10.4.2009, 13:20
Цитата(Jakob @  10.4.2009,  11:32 Найти цитируемый пост)
автоматически регулировать высоту каждой строки/записи

в GridEh высота всех строк одинаковая

Автор: Akella 12.4.2009, 09:38
На сколько мне известно, то в новых версиях будет разная. Но когда это будет- неизвестно.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)