Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Надо из списка DBComboboxEh значения в DBGridEh, DBComboboxEh->DBGridEh 
:(
    Опции темы
Bodrox
Дата 12.1.2007, 13:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 91
Регистрация: 14.4.2004
Где: Чебоксары

Репутация: нет
Всего: нет



Сделал выпадающий DBComboboxEh.
В него загружаю из таблицы напрямую столбец "Название", заодно её (таблицу) открыл в DBGridEh:
Код

procedure TMainForm.DBComboBoxEh1DropDown(Sender: TObject);
var i:integer;
begin
  DBComboBoxEh1.Items.Clear;
  MasterTable.First;
  while not MasterTable.Eof do
    begin
      DBComboBoxEh1.Items.Add(MasterTable.FieldByName('Название').AsString);
      MasterTable.Next;
    end;
end;

Вопросы:
1. Почему-то в DBComboboxEh значение меняется только на текущее значение в этом столбце из DBGridEh, а напрямую из DBComboboxEh не меняется.
2. Записи не отсортированы и не уникальны - как реализовать (в таблице они могут повторяться)?
3. При выборе в DBComboboxEh вставлять это значение в текущую ячейку в DBGridEh.
4. Как бы вместо FieldByName('Название') указать на то, что надо значения брать из первого столбца таблицы MasterTable?

Это сообщение отредактировал(а) Bodrox - 12.1.2007, 14:41
PM MAIL   Вверх
SergeBS
Дата 12.1.2007, 15:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1111
Регистрация: 10.6.2005
Где: Владимир

Репутация: 11
Всего: 22



Bodrox
У тебя явно неверная структура. Фокусы со вставкой из одной таблицы(справочника) значений в другую таблицу делаются через lookup fields в DBgrid. Смотри в Demos примеры. И в доках - что такое lookup fields.
PM MAIL   Вверх
Bodrox
Дата 12.1.2007, 16:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 91
Регистрация: 14.4.2004
Где: Чебоксары

Репутация: нет
Всего: нет



SergeBS, дык, у меня из этой же в эту. Для ускорения набора, так сказать.
PM MAIL   Вверх
SergeBS
Дата 12.1.2007, 17:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1111
Регистрация: 10.6.2005
Где: Владимир

Репутация: 11
Всего: 22



PM MAIL   Вверх
Bodrox
Дата 13.1.2007, 11:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 91
Регистрация: 14.4.2004
Где: Чебоксары

Репутация: нет
Всего: нет



SergeBS, прочёл.
Посмотрел, как сделано в Демке от ЭхЛиба.... Круто, сделал так же, и даже.... работает. Но есть несколько нюансов.
По пунктам моих вопросов:
1. Выкинул. Нафига, если DBGridEh сам это умеет. Реализовал.
2. Пункт не могу сделать smile... (В выпадающем списке (не в фильтре!) DBGridEh!).
3. Реализовано DBGridEh'ом.
4. Здесь я плюнул на это дело. Проще сделать PageControl и на каждой странице его по одному DBGridEh.

В итоге остался только один пункт, 2. Есть мысли?
И ещё.
5. Фильтр в DBGridEh сделал, а как заставить не нажимать на Энтер при выборе фильтра? В примере ЭхЛиба работает без Энтера, но как там это сделано - не могу найти. Через отлов события, наверное, но я в этом не силён.
6. При применении фильтра после закрытия программы через крест - вываливается с ошибкой "List index out of bounds (2)".

Append
2. Сортировку сделал. Надо было в запросе order воткнуть. Когда втыкаю distinct - вываливается smile.

Это сообщение отредактировал(а) Bodrox - 13.1.2007, 12:21
PM MAIL   Вверх
Vas
Дата 13.1.2007, 17:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 830
Регистрация: 29.6.2005
Где: Stavropol region

Репутация: 23
Всего: 28



Цитата(Bodrox @  13.1.2007,  11:42 Найти цитируемый пост)
5. Фильтр в DBGridEh сделал, а как заставить не нажимать на Энтер при выборе фильтра? В примере ЭхЛиба работает без Энтера, но как там это сделано - не могу найти. Через отлов события, наверное, но я в этом не силён.

Прписать в модуле в разделе initialization:
Код

initialization
  DBGridEhDefaultStyle.FilterEditCloseUpApplyFilter:=True;




--------------------
И опыт, сын ошибок трудных, И гений, парадоксов друг, И случай, бог изобретатель. ... (А.С. Пушкин)
PM MAIL   Вверх
Bodrox
Дата 14.1.2007, 17:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 91
Регистрация: 14.4.2004
Где: Чебоксары

Репутация: нет
Всего: нет



Vas, сэнкс.
А нормально, что в ЛюкАп-поле значения только из списка вставляются? Как избавиться от этого? Т.е. как ввести новое значение, которое потом добавится в ЛюкАп-поле?

Это сообщение отредактировал(а) Bodrox - 14.1.2007, 18:14
PM MAIL   Вверх
SergeBS
Дата 15.1.2007, 08:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1111
Регистрация: 10.6.2005
Где: Владимир

Репутация: 11
Всего: 22



Bodrox
Цитата
прочёл.

Прочитать прочитал, но ничего видать не понял. У тебя названия стран (с кодами) должны лежать в отдельной справочной таблице. Хотя бы потому, что иначе у тебя и Росия, и Россия, и Рассия появятся. А с Беларусью вообще труба будет smile. Соответственно из справочника показываются названия (которые только кто-то один может вводить и менять), а при выборе записывается код, соответствующий этой строке. И т.п. 
  И все это - просто азбука БД, она же - НФ.
PM MAIL   Вверх
Bodrox
Дата 15.1.2007, 16:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 91
Регистрация: 14.4.2004
Где: Чебоксары

Репутация: нет
Всего: нет



Дык, ладно бы одна таблица была, а тут 15 штук с разными значениями полей. И для каждого такого поля отдельную таблицу? Мне всего-то надо список из фильтра в каждую ячейку плюс возможность редактирования списка.

Это сообщение отредактировал(а) Bodrox - 15.1.2007, 16:14
PM MAIL   Вверх
SergeBS
Дата 15.1.2007, 17:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1111
Регистрация: 10.6.2005
Где: Владимир

Репутация: 11
Всего: 22



Bodrox
Цитата
15 штук с разными значениями полей.

Уморил smile. У меня что называется "под рукой" пример программы в которой почти 200 dbf-ников. И индексных файлов примерно столько же. Твое "огромное" количество - не повод делать через ..., короче как "Запорожец". Тебе же хуже потом будет.
Гарантирую.
И причем здесь ЗНАЧЕНИЯ полей? Хотя бы с терминологией разберись.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Базы данных и репортинг"
Vit
Петрович

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами


Обязательно указание:

1. Базы данных (Paradox, Oracle и т.п.)

2. Способа доступа (ADO, BDE и т.д.)


  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи
  • Вопросы по SQL и вопросы по базам данных не связанные с Дельфи задавать здесь

FAQ раздела лежит здесь!


Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Vit, Петрович.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Базы данных и репортинг | Следующая тема »


 




[ Время генерации скрипта: 0.1044 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.