Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 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.044 c
14-1127370348
leonidus
2005-09-22 10:25
2005.10.16
Ссылки на уроки по администрированию Win2000/2003 Server


1-1127467175
MegaVolt
2005-09-23 13:19
2005.10.16
Как тестировать в DUnit классы которые куда то отдают результат?


14-1127745617
Fl@sh
2005-09-26 18:40
2005.10.16
Form1.Caption := я, сделал это... ;


14-1127400606
Джо
2005-09-22 18:50
2005.10.16
Мирная тема.


14-1127362528
YurikGL
2005-09-22 08:15
2005.10.16
Чеcтность и порядочность в правительстве России





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский