Ru-Board.club
← Вернуться в раздел «Прикладное программирование»

» Вопросы по Ehlib

Автор: iogun
Дата сообщения: 05.09.2007 16:00
подскажите как программно определить какие строки выделены в таблице
Автор: waik
Дата сообщения: 05.09.2007 17:54
iogun

Наверное вопрос неправильно поставлен: Как программно пройти по выделенным в гриде строкам?

Используем в гриде мультиселект.

with grid.SelectedRows do
if Count > 0 then
begin
for x := 0 to Count - 1 do
begin
if IndexOf(Items[x]) > -1 then
begin
grid.Datasource.Dataset.Bookmark := Items[x];

// что-то делаем с выбранной строкой

end;
end;
end;
Автор: iogun
Дата сообщения: 06.09.2007 10:58
подскажите как очистить выделение в гриде не перемещая на него фокус
свойство dghClearSelection=false
Автор: RostY
Дата сообщения: 07.09.2007 08:40
iogun
Grid1.SelectedRows.Clear;
Автор: waik
Дата сообщения: 07.09.2007 08:54
Grid.SelectedRows.Clear разве не подходит?

Добавлено:
Сорри, не видел сообщения RostY когда начал писать...
Автор: iogun
Дата сообщения: 09.09.2007 10:57
RostY
я так и делал, но этот метод работает тогда, когда фокус на этом гриде
Автор: RostY
Дата сообщения: 10.09.2007 08:15
iogun
ну тогда можно запомнить на чем фокус, переместить фокус на грид, убрать выделение, а потом вернуть фокус где было.
Автор: iogun
Дата сообщения: 10.09.2007 18:56
RostY
я так и сделал

Цитата:
но этот метод работает тогда, когда фокус на этом гриде
Автор: Just_Perf
Дата сообщения: 11.09.2007 15:50
помогите разобраться с проблемой...
есть
adoquery1>datasource1>grideh
(id,name,id_part)

adoquery2>datasource2
(id_part,name_part)

никак не могу в гриде на поле id_part сделать lookup поле из 2го запроса...
Автор: RostY
Дата сообщения: 11.09.2007 16:44
1. вместо adoquery, наверное, лучше использовать adodatаset
Вариант 1
2. adodatаset1 - FieldsEditor - Add all fields
3. adodatаset1 - New Field - FieldType = Lookup и установить нужные значения
Вариант 2
в GridEh.Column[..] программно заполнить KeyList значениями id_part и PickList значениями name_part


Добавлено:

Цитата:
datasource2
здесь не нужен
Автор: Just_Perf
Дата сообщения: 11.09.2007 17:02
RostY
спасибо! отработало. хотя никогда adodatаsetами не пользоватся - попробую сейчас
Автор: andy2002ua
Дата сообщения: 12.09.2007 18:22
Долго пользовался EhLib 3.6b , недавно попробовал версию 4.2.12. Столкнулся со следующей проблемой:

Есть DBGridEh соединенный с DataSet , в гриде имеется несколько столбцов, разных по цвету, есть однострочный футер, количество записей в таблице меньше, чем грид способен отобразить, т.е. между ячейками данных и ячейками футера есть свободное пространство. Так вот, в версии 3.6 эта область заливалась цветом соответствующей колонки и колонки разделялись линиями. В версиях 4.xx (пробовал несколько билдов - везде одинаково) эта область тупо заливается цветом фона грида и нет разделения столбцов, что жутко неудобно, если в таблице одна запись, таблица на весь экран, а столбцов много - визуально быстро сопоставить, какая ячейка футера какому столбцу принадлежит проблематично.

Работаю под C++Builder 5, пробовал под C++Builder 6 - то же самое. На Дэльфях не пробовал, но думаю будет то же самое.

Есть ли у кого соображения по этому поводу?
Автор: waik
Дата сообщения: 16.09.2007 14:49
andy2002ua

Пока у меня только одно соображение: такой фичи больше нет... Хотя на самом деле было удобно. Может просто не нашли как теперь её включить.
Автор: Just_Perf
Дата сообщения: 18.09.2007 15:55
Пытаюсь собрать дерево через свой любимый ado...
adoquery>datasetdriver>memtable>datasource>grideh
у memtable прописал treelist - не собирает дерево, хоть тресни!
и ключевое поле в datasetdriver выставлял, и передергивал treelist после открытия, и иные цепочки (типа adodataset) пробовал - ничего не выходит
при открытиии таблицы из absolute database дерево строит... что может быть?

добавлено:
извиняюсь за глупый вопрос - разобрался...
все дело в ноборе данных - нет родителя-нет и дерева
Автор: idiMAN
Дата сообщения: 23.09.2007 12:07
Подскажите пожалуйста, как определить что TDBLookupComboboxEh в настоящий момент отображает DropDownBox?

Автор: andy2002ua
Дата сообщения: 23.09.2007 19:26
Точно не помню, билдер на работе стоит, но вроде можно перехватывать события OnDropDown и OnCloseUp и самому устанавливать флажок.
Автор: idiMAN
Дата сообщения: 24.09.2007 10:06
andy2002ua

Цитата:
вроде можно перехватывать события OnDropDown и OnCloseUp и самому устанавливать флажок.

Ну, да, так можно, только не совсем удобно. Выкрутился добавлением public свойства в классе TCustomDBEditEh в модуле DBCtrlsEh.pas

Код:
property DroppedDown: boolean read FDroppedDown;
Автор: VinyPuh
Дата сообщения: 24.09.2007 12:17
В DBGridEh есть возможность экспорта через класс TDBGridEhExportAsXLS в Excel.
Однако есть несколько траблов:
- не экспортируется многострочные заголовки в том виде, как в Grid-e
- поля типа Дата экспортируется как строка (дальше в формулах не работает)
Кто-нить лечил подобные симптомы или знает как их можно побороть?
Автор: Rounder2000
Дата сообщения: 03.10.2007 14:49
Не думал, что столкнусь с такой траблой...
Может кто подскажет, как организовать экспорт данных в .dbf?
Буду очень благодарен.
Автор: Nicka_Grey
Дата сообщения: 03.10.2007 15:55
Rounder2000
Это скорее вопрос не по теме
Есть множество вариантов
через BDE - плохой вариант, но зачастую нормально
самому написать класс, благо доки по формату DBF в нете более чем
либо же юзать какую нить либу
из бесплатных TDBF
Автор: iogun
Дата сообщения: 03.10.2007 19:00
хочу организовать lookup поле и список доступных для него значений, но список должен состоять из нескольких колонок, одна из которых является ключом, в демке видел есть такое, но там все сделано ч.з. MemTableEh и SQLDriverEh ..., может есть др. способ? А сесли нет подскажите как работать с этими компонентами для решения такой задачи?
Автор: cwbgbjy
Дата сообщения: 06.11.2007 16:34
Добрый день.
Вот такая проблема.
Пытаюсь установить EhlLib для BDS 2006.
Перехожу в папку BDS2006.Vcl
и собираю ehlib2006.dpk
Он собирается нормально.
Потом пытаюсь собрать EhLibDataDrivers100.dpk и получаю следующую ошибку.

[Pascal Fatal Error] EhLibDataDrivers100.dpk(43): F2051 Unit IBXDataDriverEh was compiled with a different version of IBStoredProc.TIBStoredProc

Как от нее избавится?

Автор: Mobyty
Дата сообщения: 14.11.2007 12:34
Как убрать с заголовков (Title) колонок EhGrid контекстное меню (PopUp)?

Пробовал так :

procedure TFormMain.GridTitleClick(Column: TColumnEh);
begin
Grid.PopupMenu:=nil;
end;
Но оно срабатывает только тогда, когда сначала нажать на заголовках ЛЕВОЙ кнопкой миши.
Тоесть нужено обработать событие GridTitleRightClick.

P.S. Задача - на строчках грида PopUp нужен, а в заголовках - нет.
Автор: RostY
Дата сообщения: 16.11.2007 08:53
попробуй вручную меню пупупить
Автор: freddom12345
Дата сообщения: 18.11.2007 09:27
Господа! У мен в проекте TDBGridEh создается динамически, для каждой вкладки, датасет для всех гридов один, при переходе по вкладкам меняется только его параметры. Так вот, вермя от времени начинает сходит сума SumListProducer сыплет AV - путается в евентах... проблему решил путем ручного суммирования. Может есть варианты решения?
Автор: RostY
Дата сообщения: 26.11.2007 13:36
SumList глючит при уничтожении. Когда-то этот вопрос проскакивал на yahoo-форуме.

Цитата:

После закрытие моей программы постоянно появляется окно 'Ошибка приложения': Исключительная ситуация EAccessViolation в модуле xxx.exe по адресу 000сс63с. Нарушение доступа по адресу 004сс63с в модуле 'xxx.exe'. Запись по адресу 00c0aaa8.

Ошибка находится в TDBSumListProducer.ReturnEvents файла
Ehlib 4.0\DBSumLst.pas.
Указывает на строку 319: 'FDataSet.AfterEdit := OldAfterEdit;'

но так и не помню был ли ответ как исправить
Автор: Mobyty
Дата сообщения: 28.11.2007 01:27
RostY попробуй вручную меню пупупить
А можно поподробней?
Автор: Just_Perf
Дата сообщения: 28.11.2007 07:46

Цитата:
А можно поподробней?

в событии мыши
PopupMenu.Popup(mousePos.CursorPos.x,mousePos.CursorPos.y);
Автор: maxxsnake
Дата сообщения: 01.12.2007 17:14
Добрый день.
Возник вопросик. Компонент TDBGridEh из пакета EhLib. Необходимо для DBGridEh.Columns[1].Title.Caption записать довольно длинную строку в несолько строк и чтобы она отображалась вертикально. С вертикальностью все понятно, а вот записать одну длинную строку несколькими короткими не могу. Запись в Caption строки вида '123'+#13+#10+'qwe' не помогает. Как это можно сделать ?
Автор: SERGE_BLIZNUK
Дата сообщения: 01.12.2007 18:46
maxxsnake
к сожалению под рукой нет Дельфи... попробуйте поставить в caption, где надо перевод строки символ | или символы ||

Страницы: 1234567891011121314151617181920212223

Предыдущая тема: Конвертация char в ASCII код; c


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.