Главная страница
    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.045 c
1-1127887104
OlegM
2005-09-28 09:58
2005.10.16
Не происходит смена курсора


4-1124264334
Shopot
2005-08-17 11:38
2005.10.16
Как конвертировать WideChar to Char?


8-1116755107
MACTEP'oK
2005-05-22 13:45
2005.10.16
DirectSound. Проблема с записью длительного звукового потока .


3-1125475563
DmitryNekl
2005-08-31 12:06
2005.10.16
Неверная фильтрация, ADO, доступ к текстовым файлам через Jet


3-1125630197
skiph
2005-09-02 07:03
2005.10.16
2 Query на одну таблицу





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский