Текущий архив: 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.46 MB
Время: 0.028 c