Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Потрепаться";
Текущий архив: 2003.07.24;
Скачать: [xml.tar.bz2];

Вниз

Так значить в Delphi нельзя добавить lookup поле у dataset в   Найти похожие ветки 

 
Вован   (2003-07-07 16:14) [0]

runtime?! Это еще раз доказывает что, delphi гиморой.


 
Pat   (2003-07-07 16:25) [1]

Ты просто не умеешь их готовить © реклама

>Это еще раз доказывает что,
Ты просто не умеешь их готовить

Ведь как-то программисты Borland"а смогли это сделать :)


 
Вован   (2003-07-07 16:29) [2]

>>Ведь как-то программисты Borland"а смогли это сделать :)

Тыкни а то не вижу


 
Anatoly Podgoretsky   (2003-07-07 16:35) [3]

Это ты ткни правой кнопкой мыши.


 
Вован   (2003-07-07 16:39) [4]

Зачем?


 
Smashich   (2003-07-07 16:39) [5]

Вован (07.07.03 16:14)

раз не нравиться - чего пришел то?. может сначала разобраться? или не париться и не парить, а юзать то что нравиться?


 
Вован   (2003-07-07 16:45) [6]

Я просто хочу понять как это сделать.


 
passm   (2003-07-07 16:48) [7]

Я стою на асфальте,
Ноги в лыжи обуты
...
:)

Delphi не без "грехов", но указанной выше болезнью не страдает.


 
Smashich   (2003-07-07 16:49) [8]

а ты как делаешь?


 
Stas   (2003-07-07 16:54) [9]

Не нравится стандарнтный компонент - свой напиши.


 
Вован   (2003-07-07 16:56) [10]

Я уже повсякому делал, всего не покажеш, остановился на этом:



F:=TStringField.Create(Table);
F.FieldKind:=fkLookup;
F.Lookup:=true;
F.LookupKeyFields:="ID";
F.LookupResultField:="NAME";
F.KeyFields:="IDCOMP";
F.FieldName:="COMP";
F.LookupDataSet:=CompTable;
F.DataSet:=Table;
Table.Open;



При выполнении Table.Open пишет что поле "IDCOMP" не найдено.
Я прошел пошагово и оказалось что, в InternalOpen вызывается BindFields в котором идет цикл по FFields в котором на тот момент только одно поле которое я создал динамически, затем вызывается функция проверки правильности поля и обнаруживыется что поля "IDCOMP" в self нет. И выкидывается исключение что поле "IDCOMP" не найденно


 
Smashich   (2003-07-07 16:57) [11]

одного не пойму. уже третью ветку г. Вован создает. на одну и ту же тему. не надоело? А в одной нельзя?


 
Вован   (2003-07-07 16:58) [12]

Все такие умные, как будто сдесь конкурс остряков а не форум в который обращаются что-бы получить помощь или самому помочь.


 
koks   (2003-07-07 16:58) [13]

ну начался базар....
Вообще стремно ругать продукт на форуме, который весь ему посвящен...


 
Вован   (2003-07-07 17:07) [14]

Я хочу одного. Узнать можно ли делать то что я пытаюсь сделать если нет то нет. А не выслушивать про всякие "лыжи".

>>Вообще стремно ругать продукт на форуме, который весь ему посвящен...
Я конечно имел ввиду ни вцелом весь делфи а именно реализацию TDataSet, уж очень она монстроватая и неправильная.


 
McSimm   (2003-07-07 17:21) [15]

Пошел вопрос по назначению :)


 
Anatoly Podgoretsky   (2003-07-07 21:14) [16]

Да не мучайся ты сделай мышкой поле, а потом посмотри .dfm файл


 
panov   (2003-07-07 21:21) [17]

"Просто кто-то слишком много ест..." (C Кролик)


 
Ученик   (2003-07-07 21:28) [18]

type
TDataSetAccess = class(TDataSet);

procedure CreateDataSetFields(ADataSet: TDataSet);
begin
with ADataSet do begin
if FieldDefs.Count = 0 then
FieldDefs.Update;
if (FieldCount = 0) then
TDataSetAccess(ADataSet).CreateFields
end
end;

CreateDataSetFields(Table);
...


 
kaif   (2003-07-07 21:36) [19]

Я не понимаю, ты хочешь во что бы то ни стало создать lookup -поле, но поле, с которым это lookup будет работать создавать не хочешь. Причем, как я вижу, ни в рантайме, ни в дизайн-тайме.
Так не пойдет. Или если уж приспичило ни в каком случае не создавать поля DataSet-а, а ждать, пока он их сам создаст, то запихай весь свой этот код в AfterOpen датасета, а в AfterClose запихай DataSet.FieldByName("this_shit_field").Free;


 
Вован   (2003-07-07 22:03) [20]

2Ученик
А как это потом применить?

2kaif
>>Я не понимаю, ты хочешь во что бы то ни стало создать lookup
>>-поле, но поле, с которым это lookup будет работать создавать не
>>хочешь. Причем, как я вижу, ни в рантайме, ни в дизайн-тайме.

Я хочу но у меня не получается. Вот хоть бы один умный человек взял бы да привел пример


 
Ученик   (2003-07-07 22:10) [21]

>Вован (07.07.03 22:03)
CreateDataSetFields(Table);
F:=TStringField.Create(Table);
F.FieldKind:=fkLookup;
F.Lookup:=true;
F.LookupKeyFields:="ID";
F.LookupResultField:="NAME";
F.KeyFields:="IDCOMP";
F.FieldName:="COMP";
F.LookupDataSet:=CompTable;
F.DataSet:=Table;
Table.Open;


 
Вован   (2003-07-08 13:22) [22]

2Ученик


СУПЕР!!! ВСЕ ЗАРАБОТАЛО!!!
ХОТЬ КТО-ТО ЗДЕСЬ МАСТЕРОМ ОКАЗАЛСЯ
БОЛЬШОЕ СПАСИБО, АТО Я УЖЕ ПОТЕРЯЛ ВСЯКУЮ НАДЕЖДУ
ПРЕДЛАГАЮ ЭТО ЗАНЕСТИ В FAQ
КТО-ТО ТУТ ГОВОРИЛ ЧТО, ПРОМУЧАВШИСЬ С ЭТИМ ТАК И БРОСИЛ


 
Dmitriy O.   (2003-07-08 13:34) [23]

Да впечетляет. Не понял зачем все это нужно но раз так сложно добавил вопрос в FAQ"er вдруг понадобится :))



Страницы: 1 вся ветка

Форум: "Потрепаться";
Текущий архив: 2003.07.24;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.49 MB
Время: 0.01 c
3-77799
Alex_x
2003-07-03 11:30
2003.07.24
QuantumGrid4


1-77992
Вован
2003-07-10 18:09
2003.07.24
Как зделать форму которая всегда находится на заднем плане?


14-78041
DelphiBeginner
2003-07-09 14:47
2003.07.24
GDB


4-78192
Aleksandr
2003-05-22 14:55
2003.07.24
увидел функцию MessageBoxEx с каким-то языковым параметром.


1-77934
TiRAN
2003-07-10 00:25
2003.07.24
Как что-нибуть записать в реестр





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