PDA

View Full Version : بایند کردن لیستی ازاشیا به گرید



سار
شنبه 27 تیر 1388, 16:08 عصر
آیا میشه من لیستی از اشیا (مثلن لیستی از یک کلاس) رو به گرید بایند کنم به جای دیتا ست یا سورس؟

Saeed_m_Farid
شنبه 27 تیر 1388, 17:43 عصر
آیا میشه من لیستی از اشیا (مثلن لیستی از یک کلاس) رو به گرید بایند کنم به جای دیتا ست یا سورس؟

اگه منظورتون رو درست گرفته باشم، مثلاً لیستی از اشیاء مورد استفاده یک فرم (کامپوننت های روی فرم در زمان Design Time) رو میشه با کد زیر به یه StringGrid اضافه کرد، ولی این عمل مطمئناً معنای بایند کردن نمیده :


procedure TForm1.BitBtn1Click(Sender: TObject);
var
idx: Integer;
begin
StringGrid1.ColWidths[0] := 50;
StringGrid1.ColWidths[1] := 250;
StringGrid1.ColWidths[2] := 250;
StringGrid1.RowCount := Form1.ComponentCount + 1;
StringGrid1.Cells[0, 0] := 'index';
StringGrid1.Cells[1, 0] := 'Component Class';
StringGrid1.Cells[2, 0] := 'Component Name';
for idx := 1 to Form1.ComponentCount do begin
StringGrid1.Cells[0, idx] := IntToStr(idx);
StringGrid1.Cells[1, idx] := Form1.Components[idx-1].ClassName;
StringGrid1.Cells[2, idx] := Form1.Components[idx-1].Name;
end;
end;

اگه منظورتون لیستی از instance های یک کلاس خاص هست که روند کم و زیاد شدنشون رو مانیتور کنید، فکر کنم یه کلاس مجزای NotifyٍEvent مختص اون کلاس باید نوشته بشه که حذف/اضافه شدن هاشون رو RealTime چک کنه و Cell موردنظر رو ویرایش کنه و ...