Форум программистов, компьютерный форум, киберфорум
Delphi: Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.92/48: Рейтинг темы: голосов - 48, средняя оценка - 4.92
4 / 4 / 1
Регистрация: 10.12.2010
Сообщений: 81

DBGridEh-DataSource-MemTableEh-DataDriverEh-ADODataSet-ADOConnection

23.01.2012, 14:38. Показов 9387. Ответов 11
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Не как не получается связать дбгрид'ех c бд по принципу
DBGridEh-DataSource-MemTableEh-DataDriverEh-ADODataSet-ADOConnection

MemTableEh-DataDriverEh-ADODataSet какие свойства надо изменить у этой группы?

кто может объяснить последовательность действий или есть пример буду очень признателен!

кстать гугл не помогает/в русском хэлпе ЭхЛиба такого не нашел
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
23.01.2012, 14:38
Ответы с готовыми решениями:

AdoQuery+DataSource+DBGridEh
Столкнулся с такой проблемой! В компоненте DBGridEh использую checkbox, все работает шикарно за исключением, последнего чекбокса! хоть...

Динамическое создание компонентов ADOConnection, ADODataSet, DataSource
Доброго дня, Работаю над курсовым проектом по Базам Данных. Уже изучил компоненты ADOConnection, ADODataSet, DataSource, TDBGrid....

DBGridEh+MSSQL+MemTableEh+CheckBox как?
Добрый день. Появилась необходимость создать динамически формируемую таблицу древовидного типа с галочками около каждого пункта....

11
1497 / 1238 / 245
Регистрация: 04.04.2011
Сообщений: 4,363
24.01.2012, 12:54
Кто Вам подсказал такую причудливую цепочку и с какой целью ?
0
4 / 4 / 1
Регистрация: 10.12.2010
Сообщений: 81
24.01.2012, 13:30  [ТС]
такую цепочку указывает хэлп EhLibrary
c обычным подключением(DBGridEh-AdoTable-ADOConnection) в DBGridEh фильтрация данных происходит не корректно и в фильтр не подгружается список уникальных значений поля!

ну теперь и цель ясна-добиться корректной работы фильтра в DBGrid
0
1497 / 1238 / 245
Регистрация: 04.04.2011
Сообщений: 4,363
24.01.2012, 15:48
У Вас неправильное понимание о назначении и фунционировании грида. В т.ч. и эхлибовского. Все операции по отбору, фильтрации, упорядочению, поиску и т.д. данных в датасете выполняются собственно датасетом (в Вашем случае - TADOTable), но никак не гридом

MemTableEh, насколько мне известно, это набор данных в памяти в виде (и по функционалу) того же датасета. Используется в тех случаях когда табличные данные не привязаны ни к какому DAC, но программист хочет обеспечить пользователю "табличный" сервис. Вероятно, разработчики "датасета в памяти" предусмотрели какой-то "переходный" фунционал для перемещения данных "память"-"база через обычный TDataSet", но Вы, очевидно, не дали себе труда разобраться в нем, решив что эта связь делается тупым бросанием компонент и установления связи между ними в дизайне в стиле Фаронова-Архангельского Возможно, таинственный зверь с именем DataDriver и есть тот самый "переходник".
Думаю, что Вы мудрите излишне, пытаясь болты закручивать пинцетом - не проще ли изложить задачу, а потом уже рассказывать про инструменты, которые Вы использовали при ее решении ?
0
4 / 4 / 1
Регистрация: 10.12.2010
Сообщений: 81
24.01.2012, 21:10  [ТС]

Не по теме:

:jokingly: неплохо сказано, как завуалировано))



Так про задание: обычная база данных,работа с таблицами(добавл\удал\переимен полей и таблиц), с поиском, печатью, экспортом в эксэль\ворд и необходима фильтрация и сортировка по всем столбцам(но есть одно но исходя и работы с таблицами - количество полей заранее не известно - и в ручную фильтр делать для меня просто не представляется реальностью и возможным

ну и немного цитат, из хэлпа:
На текущий момент библиотека умеет фильтровать и заполнять список уникальных значений колонки только для датасета типа TMemTableEh. Для фильтрации и заполнения уникальных значений при подключении грида к другому датасету перепишите функцию TDatasetFeaturesEh.FillSTFilterListDataV alues и по необходимости зарегистрируйте новый класс, наследуемый от TDatasetFeaturesEh ....
TDataDriverEh является базовым классом для TBDEDataDriverEh, TSQLDataDriverEh, TIBXDataDriverEh, TDBXDataDriverEh и TADODataDriverEh
этим мы и руководствуемся
0
 Аватар для rdama
569 / 292 / 12
Регистрация: 28.01.2011
Сообщений: 1,326
25.01.2012, 07:25
MsGuns,
MemTableEh, насколько мне известно, это набор данных в памяти в виде
не совсем так но близко. В последних версиях EhLib в гриде появилась возможность интерактивной группировки данных по любому из полей датасета. Для этих манипуляций и используется такая хитрая связка. Т.е. в этой связке MemTableEh добавляет функциональность чтоб реализовать данные механизмы.
0
1497 / 1238 / 245
Регистрация: 04.04.2011
Сообщений: 4,363
25.01.2012, 11:58
Я когда-то пытался использовать эхлиб именно из-за его супер-пупер грида. Но очень скоро бросил ибо увидел какой монстрокод добавляется к моему проекту и как тяжко дебажить его в поисках ошибки. Или надо написать собственный перерисовщик ячеек например. ИМХО, разработчики попытались всунуть в этот грид несусветный функционал- типа и повар, и плотник, и на мышей охотник. В результате получился монстр-агрегат, который в руках неопытного начинает пилить мышей и охотиться на кастрюли.
Все ИМХО, конечно
0
 Аватар для rdama
569 / 292 / 12
Регистрация: 28.01.2011
Сообщений: 1,326
25.01.2012, 12:33
MsGuns, да есть такое за ехлибом. Не знаю как сам на него перешел всегда хватало инфопауера. Чего не хватало пилил руками. Писал функционал, а тут блин пилить затычки приходится.
Чужой проект - чужие грабли, а лоб мой.
0
4 / 4 / 1
Регистрация: 10.12.2010
Сообщений: 81
25.01.2012, 12:35  [ТС]
ладно, со связкой проблемы...
А можно изменить состав условий фильтра? удалить ненужные которые работать отказываются!

вот например в хэлпе указано что из выпадающего фильтра можно удалить слова сортировки
В следующем примере в коде события грида OnSTFilterListValues удаляются элементы выпадающего списка, выполняющие сортировку:
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
procedure TForm1.DBGridEh1FillSTFilterListValues(Sender: TCustomDBGridEh;
  Column: TColumnEh; Items: TStrings; var Processed: Boolean);
var
  Index: Integer;
begin
  Sender.DefaultFillSTFilterListValues(Column, Items);
  Index := Items.IndexOfObject(PopupListboxItemEhSortAsc);
  if Index >= 0 then
    Items.Delete(Index);
  Index := Items.IndexOfObject(PopupListboxItemEhSortDes);
  if Index >= 0 then
    Items.Delete(Index);
  Processed := True;
end;
например удалить пустые и не пустые, содержит, не содержит, больше, меньше и равно и т.д
есть список этих объектов?
0
 Аватар для rdama
569 / 292 / 12
Регистрация: 28.01.2011
Сообщений: 1,326
25.01.2012, 12:38
Слушай вот ты знаешь с эхами идет папка с демками. Открыть и перекомпилять не пробовал?
Там есть то что тебе надо. Если нет демок то они с легкостью качаются на офе эхов.
1
4 / 4 / 1
Регистрация: 10.12.2010
Сообщений: 81
25.01.2012, 12:41  [ТС]
спасиба за дельный совет! попробуем-отпишемся
0
4 / 4 / 1
Регистрация: 10.12.2010
Сообщений: 81
29.01.2012, 00:19  [ТС]
очень тяжело но разобраться получилось) хотя их исходники такая гадость! спасибо!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
29.01.2012, 00:19
Помогаю со студенческими работами здесь

Сумирование по столбцу с использованием компонентов DBGrid, ADOConnection, ADODataSet
Ребята,в DBGrid есть записи:Наименование товара,Фирма-производитель и Стоимость. Как посчитать стоимость товара по определенной фирме и...

Сумирование по столбцу БД Access с помощью компонентов DBGrid,ADOConnection,ADODataSet
Ребят уже 3 часа я ищу как это сделать и не могу найти , нахожу чтото типо такого Query1->SQL->Text = "SELECT SUM(sum) FROM...

ADOConnection, ADOQuery, DataSource. Разбор полетов)
в общем, есть несколько РадиоБатонов, кликанье по которым определяет содержимое SQL запроса. вот среди них на обработчике события клика...

Как подключить базу даных через: ADOConnection + ADOQuery + DataSource + BDGrid?
Как подключить базу даных через:ADOConnection+ADOQuery+DataSource+BDGrid???Подскажите пожалуйста!!!!

Можете сформулировать, для чего конкрето служат компоненты adoconnection, adotable и datasource?
Можете сформулировать, для чего конкретно служат компоненты adoconnection, adotable и datasource?


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
Установка Emscripten SDK (emsdk) и CMake на Windows для сборки C и C++ приложений в WebAssembly (Wasm)
8Observer8 30.01.2026
Чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. Система контроля версиями Git. . .
Подключение Box2D v3 к SDL3 для Android: физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
Влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru