Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.12.12;
Скачать: CL | DM;

Вниз

Fields   Найти похожие ветки 

 
Ormada ©   (2003-11-21 14:16) [0]

Как сделать в run time "добавить все поля" (Ctrl+A) в Query
Это делается только для того чтобы колонки создаваемые в run time DBGrid имели привязку к полям, или возможно сделать это как нить проще ?


 
Anatoly Podgoretsky ©   (2003-11-21 14:21) [1]

Не делай "добавить все поля" и все будет автоматом.


 
ORMADA ©   (2003-11-21 14:54) [2]

блин так это понятно! вопрос то не в этом. мне надо их добавить так я потом буду ручками создавать DBGrid столбцы в Ehlib а так как известно есть понятие MultiTitle т.е. если пишеш в названиии столбца1 123|qqq столбца2 123|www то получается шапка одну у обоих, вот для этого мне и надо дёрнуть поля чтоб потом правильно поделить их на группы.


 
Карелин Артем ©   (2003-11-21 15:29) [3]

ORMADA © (21.11.03 14:54) [2]
???? Что-то не вкуриваю связи между MultiTitle и запросом ???? Видимо пятница.

Если надо связать столбец TDBGridEh c полем из набора данных есть св-во FieldName у столбца. Если надо в ран-тайме менять заголовок столбца, есть св-во Title.Caption у столбца...


 
ЮЮ ©   (2003-11-22 08:07) [4]

>вот для этого мне и надо дёрнуть поля чтоб потом правильно поделить их на группы

После открытия запроса они сами "надергаются"


 
riland   (2003-11-22 20:25) [5]

Вот процедурка, которая добавляет в пустой dataset новые поля:
procedure TdmDisel.Modif_Table(var mDataSet:TTable; sName_table : string);
begin
if taModif_fieldTYPE_FIELD.AsString = "Строковый" then
begin
with TStringField.Create(mDataSet) do
begin
FieldName := taModif_fieldNAME_FIELD.AsString;
DataSet := mDataSet;
Name := mDataSet.Name + taModif_fieldNAME_FIELD.AsString;
DisplayLabel:=taModif_fieldDISPLAY_LABEL.AsString;
mDataSet.FieldDefs.Add(name, ftString, taModif_fieldSIZE_FIELD.AsInteger, false);
end;
end;

if taModif_fieldTYPE_FIELD.AsString = "Числовой (целый)" then
begin
with TIntegerField.Create(mDataSet) do
begin
FieldName := taModif_fieldNAME_FIELD.AsString;
DataSet := mDataSet;
Name := mDataSet.Name + taModif_fieldNAME_FIELD.AsString;
DisplayLabel:=taModif_fieldDISPLAY_LABEL.AsString;
mDataSet.FieldDefs.Add(name, ftInteger, 0, false);
end;
end;

if taModif_fieldTYPE_FIELD.AsString = "Числовой (дробный)" then
begin
with TFloatField.Create(mDataSet) do
begin
FieldName := taModif_fieldNAME_FIELD.AsString;
DataSet := mDataSet;
Name := mDataSet.Name + taModif_fieldNAME_FIELD.AsString;
DisplayLabel:=taModif_fieldDISPLAY_LABEL.AsString;
mDataSet.FieldDefs.Add(name, ftFloat, 0, false);
end;
end;

if taModif_fieldTYPE_FIELD.AsString = "Дата" then
begin
with TDateField.Create(mDataSet) do
begin
FieldName := taModif_fieldNAME_FIELD.AsString;
DataSet := mDataSet;
Name := mDataSet.Name + taModif_fieldNAME_FIELD.AsString;
DisplayLabel:=taModif_fieldDISPLAY_LABEL.AsString;
mDataSet.FieldDefs.Add(name, ftDate, 0, false);
end;
end;
end;
Для Tquery выглядит так

if taModif_fieldTYPE_FIELD.AsString = "Дата" then
begin
with TDateField.Create(mDataSet) do
begin
FieldName := taModif_fieldNAME_FIELD.AsString;
DataSet := mDataSet;
Name := mDataSet.Name + taModif_fieldNAME_FIELD.AsString;
DisplayLabel:=taModif_fieldDISPLAY_LABEL.AsString;
Origin:="""+sName_table+".db"."+taModif_fieldNAME_FIELD.AsString;
mDataSet.FieldDefs.Add(name, ftDate, 0, false);
end;
end;

Пояснений не даю, надеюсь все понятно



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

Текущий архив: 2003.12.12;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.021 c
1-36744
User_OKA
2003-12-01 09:36
2003.12.12
Использование компонентов


3-36503
Danilas
2003-11-21 18:23
2003.12.12
Пишу такой текст: datamodule2.Query4.Fields


3-36515
AkaSaint
2003-11-21 16:54
2003.12.12
Изменяю в ClientDataSet одну запись-на сервере изменяется вся tbl


1-36737
Dracula2000
2003-12-02 10:30
2003.12.12
Grid or DBGrid


14-36801
sashas
2003-11-18 17:17
2003.12.12
А почему девушек-программеров почти нет?