На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! ПРАВИЛА РАЗДЕЛА · FAQ раздела Delphi · Книги по Delphi
Обязательно выделяйте текст программы тегом [сode=pas] ... [/сode]. Для этого используйте кнопку [code=pas] в форме ответа или комбобокс, если нужно вставить код на языке, отличном от Дельфи/Паскаля.

Этот раздел предназначен для вопросов, посвященных разработке компонентов, а также для тестирования собственных бесплатных компонентов с открытым исходным кодом.

Здесь запрещается:
1. Размещать ссылки на какие-либо коммерческие компоненты, реализующие требуемую функциональность.
2. Обсуждать и тестировать коммерческие компоненты или компоненты с закрытым кодом.
3. Давать ссылки на сайты с исходным кодом компонентов. Все тестируемые исходные коды должы быть размещены на сайте ИСХОДНИКИ.RU.
Модераторы: Rouse_, DimaBr
  
> Изменение свойств DBLookupComboBox
    Здравствуйте.
    Создаю компонент на основе DBLookupComboBox такой, что при указании базы данных автоматически заполняется property "Список таблиц", содержащихся в БД.
    В связи с этим возникли следующие вопросы:
    1. как скрыть свойство ListSource (оно объявлено в TDBLookupControl, родительском для TDBLookupComboBox)?
    2. что может быть не так прописано, если в Design-time комбобокс заполняется как и задумано, а при запуске приложения значения в комбобоксе не отображаются?

    Прикреплённый файлПрикреплённый файлDBLookupComboBoxExt.rar (1,5 Кбайт, скачиваний: 247)
      ExpandedWrap disabled
        type
          TDBLookupComboBoxExt = class(TDBLookupComboBox)
          private
            fListSourceTable: TADODataSet;
            fDataSource: TDataSource;
            function GetADOConnection: TADOConnection;
            procedure SetADOConnection(const value: TADOConnection);
          published
            constructor Create(AOwner: TComponent); override;
            destructor Destroy; override;
            property ADOConnection: TADOConnection read GetADOConnection write SetADOConnection;
          end;
         
        implementation
         
        { TDBLookupComboBoxRun }
         
        constructor TDBLookupComboBoxExt.Create(AOwner: TComponent);
        begin
          inherited Create(AOwner);
          fListSourceTable := TADODataSet.Create(Self);
          fDataSource := TDataSource.Create(Self);
          fDataSource.DataSet := fListSourceTable;
          ListSource := fDataSource;
        end;
         
        destructor TDBLookupComboBoxExt.Destroy;
        begin
          fDataSource.Free;
          fListSourceTable.Free;
          inherited Destroy;
        end;
         
        function TDBLookupComboBoxExt.GetADOConnection;
        begin
          Result := fListSourceTable.Connection;
        end;
         
        procedure TDBLookupComboBoxExt.SetADOConnection(const value: TADOConnection);
        begin
          if ADOConnection = Value then Exit;
          fListSourceTable.Close;
          fListSourceTable.Connection := Value;
          if Assigned(Value) then
            try
              Value.OpenSchema(siTables, EmptyParam, EmptyParam, fListSourceTable);
              DataField := 'TABLE_NAME';
              KeyField := 'TABLE_NAME';
            finally
            end;
        end;
      0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
      0 пользователей:


      Рейтинг@Mail.ru
      [ Script execution time: 0,0345 ]   [ 18 queries used ]   [ Generated: 2.05.24, 08:03 GMT ]