![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как программно создать
NVO © (2003-06-17 08:48:00)Здравствуйте! Позвольте спросить кто знает как программно создать поле поиска
Anatoly Podgoretsky (2003-06-18 11:04:00) [1]Вообще то это делатеся просто и без форума, в дизайн тайм создается поле, затем из dfm скопировать почти готовый текс и применить это в рантайм. Одной головы достаточно.
Соловьев (2003-06-18 10:56:00) [2]вобще-то форум надо читать...этот вопрос возникает каждые 2 дня...
http://www.delphimaster.ru/cgi-bin/forum.pl?look=1&id=1054907372&n=1
Zacho (2003-06-18 10:46:00) [3]
> NVO (18.06.03 10:32)
Ну, насколько я это помню, надо примерно так:
var
fld: TStringField; //Или другой наследник от TField нужного типа
begin
fld:=TStringField.Create(MyDataSet);
fld.FieldName:="MyFieldName";
fld.Index:=MyDataSet.FieldCount;
fld.DataSet:=MyDataSet;
fld.FieldKind:=fkLookup;
... и т.д. ...
MyDataSet.FieldDefs.UpDate;
end;
Хотя давно уже подобное не делал, могу и ошибиться.
NVO (2003-06-18 10:32:00) [4]AlexGreG © (18.06.03 10:10)
===========================================================
"tPart: Field "NAME2" cannot be a calculated or lookup field".
============================================================
Ничерта непойму, все так делаю, так как ты. Я еще раньше пробовал и такая дрянь выводилась :(((
AlexGreG (2003-06-18 10:10:00) [5]Ну хорошо, пусть будет TFields...
... здесь конечно ты загнул, потому что
tPart=tPart.Fields.DataSet, но ладно.
tPart.Fields.DataSet.FieldDefs.AddFieldDef
Далее, попробуйtPart.Fields[tPart.Fields.count-1].FieldKind:=fkLookup;сразу после создания поля.
Хотя я бы делал по-другому:
var fld: TField;
...
fld:=TField.Create(...);
fld.FieldKind:=fkLookup;
--др. установки--
tPart.fields.add(fld);
...
tPartGrid.Columns[NewColumnIndex].FieldName:=fld.Name;
...
Вот так. Дерзайте, сэр.
P.S.: Советую, зарегистрироваться, т.к. многие не будут отвечать не зарегистрированным ...
Anatoly Podgoretsky (2003-06-18 10:06:00) [6]AddFieldDef is only valid in the context of creating field definitions for a table to be created with a subsequent call to the CreateTable or CreateDataSet method. It cannot be used to add fields to an already-existing table.
NVO (2003-06-18 09:40:00) [7]AlexGreG © (18.06.03 06:56)
Наверное ты путаешь TFields c TFieldDef. У TFieldDef Нет ни св-ва LookupList и DataType там только для назначения типа поля(ftString, ftBlob...). Я пробовал и через Tfields добавить. Он пишет что такое поле не найдено.
with tPart.Fields.DataSet.FieldDefs.AddFieldDef do begin
Name:="MyType";
DataType:=ftString;
Width:=30;
Required:=True;
Visible:=True;
end;
//tPart.Fields[9].FieldKind:=fkLookup;
Anatoly Podgoretsky (2003-06-18 09:15:00) [8]NVO (18.06.03 08:56)
Это твои проблемы
AlexGreG (2003-06-18 09:06:00) [9]NVO, я тоже на рус дельфи!
NVO (2003-06-18 08:56:00) [10]Danilka © (18.06.03 07:27)
Ага я еще программный код пишу по-русски вот так:
<...>
Для i:=0 по 4 сделать начать
УстановитьДлину(MyArr, 10);
M:=Программа.ИмяПрограммы;
Закончить;
Видали система ;)
NVO (2003-06-18 08:49:00) [11]Соловьев © (17.06.03 10:02)
Lookup Lookup ДА ДА !!!
А в дельфе нехватает модуля CorbaObj.pas, и еще там менеджер проектов малость глючит, но вообще меня устраивает, нормально
Zacho (2003-06-18 07:46:00) [12]
> NVO (18.06.03 03:58)
Хочешь хороший совет ? Поставь нормальную английскую Дельфи. А то такую терминологию, как в твоей "переведенной" никто из нормальных программистов просто не понимает. И если продолжишь с ней работать - будут у тебя проблемы и в общении с другими программерами, и с пониманием того что написано в литературе, ибо везде используются стандартныетермины, а не придумки каких-то "гениев"-переводчиков.
Alexandr (2003-06-18 07:41:00) [13]короче, шел бы ты со своей русской дельфи
куда-нибудь подальше от дикарей....
А то прибьют еще...
Danilka (2003-06-18 07:27:00) [14]AlexGreG © (18.06.03 06:56)
а вдруг у него все это хозяйство тоже переведено, да еще так-же "качественно" как и lookup...
не DataSet а какая-нить УстановкаДаты, не FieldDefs а ПолеДевса и т.д. :))
AlexGreG (2003-06-18 06:56:00) [15]У компонента DataSet есть коллекция определний полей FieldDefs, через которую можно надобавлять любых полей. Параметры задавай программно: тип поля Lookup, LookupList = откуда список брать, т.д. Потом в гриде, например, есть коллекция Columns, через которую создаёшь колонку. К ней привязывай своё LookUp-поле.
Удачи
NVO (2003-06-18 03:58:00) [16]Dred2k © (17.06.03 10:15)
Че вы внатуре как дикари никогда переведенную Дельфу не видали. Lookup по-вашему так сказать
Zacho (2003-06-17 10:20:00) [17]
> Dred2k © (17.06.03 10:15)
А че, видел я такой диск с Д6. Правда, даже смотреть не стал, и так могу представить, как наши пираты могут перевести. Особенно то, что переводить вообще не нужно и даже вредно.
Dred2k (2003-06-17 10:15:00) [18]
> один из них называется "Поиск".
Переведенная дельфя?
Офигеть...
Соловьев (2003-06-17 10:02:00) [19]
> там будет группа переключателей, один из них называется
> "Поиск".
нет там такого... может Lookup?
NVO (2003-06-17 10:01:00) [20]Соловьев © (17.06.03 09:24)
обьясни что ты понимаешь под "Поле поиска"?
Когда ты входиш например в TQuery в редактор полей. Там в нем жмешь создать поле. после этого откроется окно и там будет группа переключателей, один из них называется "Поиск". Вот тоже и я хочу создать только программно