PDA

View Full Version : اضافه کردن نام فیلد به لیست فیلدهای Table در زمان اجرا



MNosouhi
سه شنبه 26 مهر 1384, 17:25 عصر
اضافه کردن نام فیلد به لیست فیلدهای تابل در زمان اجرا
با سلام
طاعات و عبادات قبول
حتما می دونید که اگر روی کامپوننت تابل دابل کلیک کرده و سپس Add All Field رو بزنید فیلدها به لیست اضافه می شوند . حالا من میخام همین کار رو در زمان اجرا انجام بدم یعنی در حین اجرای برنامه بتونم به این لیست اضافه کنم . کسی می تونه کمک کنه؟

Naficy
چهارشنبه 27 مهر 1384, 09:51 صبح
شما احتیاجی به این کار ندارین. (چون غیر ممکنه!!)
دقت کنید که این لیست هنگام طراحی خالی باشد. در زمان اجرا هم برای دسترسی به فیلدها از توابعی مثل FieldByName ، Fields و ... استفاده کنید.

Touska
چهارشنبه 27 مهر 1384, 09:56 صبح
میخواهی رکورد جدید نعریف کنی یا نه.

اگر میخواهی رکورد جدید تعریف کنی که کاری نداره.

اون کار رو هم میشه انجام داد فقط باید نوعشو بدونی :


AdoTable1Famil: TWideStringField;

MNosouhi
چهارشنبه 27 مهر 1384, 10:02 صبح
شما احتیاجی به این کار ندارین.
بعضی از کارها را فقط دز حالتی که در بالا توضیح دادم میشه روی فیلد انجام داد و استفاده از دستورات FieldByName ، Fields و... بی فایده است.

اون کار رو هم میشه انجام داد فقط باید نوعشو بدونی
نمی خام فیلد جدید تعریف کنم ، نوعش رو هم می دونم ، اما نمی دونم چطور باید به لیست اضافه کرد.اگه میشه بیشتر توضیح بدین.

Touska
چهارشنبه 27 مهر 1384, 10:41 صبح
به این شکل :


procedure TForm1.Button1Click(Sender: TObject);
Var
AdoTable1City_Name : TWideStringField;
begin
AdoTable1City_Name := TWideStringField.Create(Self);
AdoTable1City_Name.FixedChar := True;
AdoTable1City_Name.FieldName := 'City_Name';
AdoTable1City_Name.DisplayLabel := 'City_Name';
AdoTable1City_Name.Size := 50;
AdoTable1City_Name.DataSet := ADOTable1;
ADOTable1.Active := True;
With ADOTable1 Do
Begin
Insert;
Edit;
AdoTable1City_Name.AsString := 'Khaki';
Post;
End;
end;


فقط کاری که شما باید انجام بدید اینکه متغیرتون رو به صورت global تعریف کنید.

MNosouhi
چهارشنبه 27 مهر 1384, 13:14 عصر
ممنون.حل شد.
اینم یه شهرت برا آقا مصطفی.حالشو ببر