Форум: "Базы";
Текущий архив: 2005.10.16;
Скачать: [xml.tar.bz2];
ВнизВопрос по извлечению имен компонентов Найти похожие ветки
← →
meckon © (2005-08-26 23:21) [0]Уважаемые господа! Есть проблема, над которой бьюсь уже давно. Прошу помощи.
Использую interbase6.0+D7+FIBPlus6.0+ExpressQuantumGrid5
Есть база данных со справочниками, допустим:
Таблицы
Lib:
ID: Integer, not null
Name: Varchar(50)
Source: Varchar (50)
L1:
ID: Integer, not null
Name: Varchar(50)
L2:
ID: Integer, not null
Name: Varchar(50)
...
В Lib.Source записаны имена датасурсов(TDataSource)(Dm.dsCarType...) - Dm: TDataModule
При клике на грид пытаемся присвоить значение
procedure TfOtherLirary.grvLibListCellClick(Sender: TcxCustomGridTableView;
ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton;
AShift: TShiftState; var AHandled: Boolean);
var
ds: TDataSource;
begin
with Dm do begin
ds:=TDataSource(Dm.tLibSOURCE.AsString);
grvLib.DataController.DataSource:=ds;
ds.DataSet.Open;
end;
end;
Получаем AV.
Вопрос в орешник, или я действительно что-либо не понимаю?
С уважением, Кабулов Максим Валерьевич, ICQ: 196400657, mailto:meckon@mail.ru
← →
Zacho © (2005-08-26 23:36) [1]meckon © (26.08.05 23:21)
Вопрос в орешник
Нет, это вопрос в форум пользователей ExpressQuantumGrid
P.S. Выкинь нафиг IB6.0
← →
Zacho © (2005-08-26 23:47) [2]ООО !!! Только заметил...
ds:=TDataSource(Dm.tLibSOURCE.AsString);
Ну и какого хрена ты это делаешь ???? Срочно читать любой учебник по Object Pascal, он же Delphi Language.
Извени, но сольюшена не будет. Потому что я не понял что именно ты хотел. Объясни это.
← →
Zacho © (2005-08-26 23:48) [3]О, блин !!!!
Ещё пропустил...
Автору топика - срочно читать учебники.
← →
DrPass © (2005-08-27 00:54) [4]
> Потому что я не понял что именно ты хотел. Объясни это.
Он таким способом хотел по имени компонента получить ссылку на него. В общем,
> Автору топика - срочно читать учебники.
← →
Sergey Masloff (2005-08-27 01:30) [5]Zacho © (26.08.05 23:48) [3]
>Автору топика - срочно читать учебники.
Да ладно typinfo.pas посмотрит пусть и без учебника можно разобраться.
← →
Zacho © (2005-08-27 01:39) [6]Sergey Masloff (27.08.05 1:30) [5]
Неа ... Без учебника - неразберётся... Ж)
← →
meckon © (2005-08-31 11:02) [7]Спасибо за советы.
Действительно, лопухнулся.
Код:
procedure TfOtherLirary.grvLibListCellClick(Sender: TcxCustomGridTableView;
ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton;
AShift: TShiftState; var AHandled: Boolean);
var
ds: TDataSource;
begin
with Dm do begin
ds:=TDataSource(FindComponent(Dm.tLibSOURCE.AsString));
grvLib.DataController.DataSource:=ds;
ds.DataSet.Open;
end;
end;
Работает.
При этом необходимо в поле SOURCE указывать только название датасурса, имя модуля данных - в with(если датасурс лежит не на форма, а на модуле данных).
2 Zacho:
Я хочу брать имя датасурса из поля таблицы и открывать его как источник данных грида. Другое решение - CASE, ну, а если подобных таблиц много? Я, конечно, могу создать вместо этих 30 таблиц-справочников две - собственно справочник и таблицу имен справочников, но ТЗ такое... Сам знаю, что это геморрой, но приходится мучаться таким способом.
С уважением, Кабулов Максим Валерьевич.
← →
tomkat (2005-08-31 11:34) [8]есть такое выражение : "Зачем просто, если можно сложно "
наверное это отсюда ...
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2005.10.16;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.035 c