PDA

View Full Version : سوال: تغيير اولويت فيلدها



farzad1
شنبه 25 آبان 1387, 20:22 عصر
با سلام خدمت دوستان گرامي
چطوري مي تونم اولويت فيلدها رو در جدول تغيير بدم ( البته در كد نويسي ) تا به دلخواه و ترتيب خودم به Excel ارسال كنم ؟
با تشكر

merced
یک شنبه 26 آبان 1387, 18:39 عصر
اگه منظورت ترتيب فيلدهاست
ميتوني روي کامپوننت Table دابل کليک کني. توي پنجره باز شده با زدن Ctrl+F کل فيلدها رو اضافه کرده و اونجا فيلدها رو جابجا کني .

farzad1
دوشنبه 27 آبان 1387, 08:38 صبح
ممنون از راهنمايي شما ولي منظورم زمان اجرا بود .

merced
دوشنبه 27 آبان 1387, 09:18 صبح
ميتوني تو يه DBGrid نمايش بدي .. با کمک دو تا کليد از کاربر بخواي تا ستونها رو به ترتيب مورد نظرش جابجا کنه
بعدش هم يه حلقه :



DBGrid1.Columns.Items[1].Index := 2 ;
-----------
while not table.eof do begin
for i := 0 to DBGrid1.Columns.Count - 1 do
sendtoexcel (DBGrid1.Columns[i].Field.AsString) ;

table.next ;
end ;

امید امرایی
دوشنبه 27 آبان 1387, 10:01 صبح
با سلام خدمت دوستان گرامي
چطوري مي تونم اولويت فيلدها رو در جدول تغيير بدم ( البته در كد نويسي ) تا به دلخواه و ترتيب خودم به Excel ارسال كنم ؟
با تشكر

بنده درست متوجه منظور شما نشدم
اما معمولا اين نوع مرتب سازي ها در زمان فراخواني اطلاعات از ديتابيس انجام ميشن .


SELECT * FROM tablename ORDER BY KeyField

farzad1
سه شنبه 28 آبان 1387, 18:04 عصر
ممنون از راهنمايي شما

منظورم مرتب كردن فيلدها در زمان اجرا همانند زمان طراحي كه در FieldEditor اين كار رو انجام مي ديم .

mafazel
چهارشنبه 29 آبان 1387, 08:54 صبح
چطوري مي تونم اولويت فيلدها رو در جدول تغيير بدم ( البته در كد نويسي ) تا به دلخواه و ترتيب خودم به Excel ارسال كنم ؟

سلام دوست عزیز
چرا میخواهی ترتیب فیلدها رو توی جدول تغییر بدی تا به ترتیب دلخواه به Excel ارسال کنی؟ خوب فقط به ترتیب دلخواه ارسال کن.
پاسخ دوستمون merced بهترین پاسخ و ایده برای انجام کار شماست اما اگر واقعا روی تعریف فیلدها اصرار داری تا اونجا که من میدونم ترتیب فیلدها رو زمان اجرا نمی تونی تغییر بدی- فقط میتونی اونا رو حذف کنی و مجدد تعریف کنی


procedure TForm1.Button1Click(Sender: TObject);
var
Field1,Field2 : TField;
begin
ADOTable1.Close;
ADOTable1.Fields.Clear;
// Adding Field 1
Field1 := TStringField.Create(ADOTable1);
Field1.FieldName:='Name';
Field1.DataSet := ADOTable1;
// Adding Field 2
Field2 := TWordField.Create(ADOTable1);
Field2.FieldName:='Kod';
Field2.DataSet := ADOTable1;
ADOTable1.Open;