View Full Version : سوال: ایجاد ردیف
  
soft-c
چهارشنبه 27 مرداد 1389, 17:42 عصر
سلام
چطوری می تونم یک ردیف که شماره دارد ایجاد کنم 
یعنی به ترتیب از شماره 1 شروع بشه تا ....
البته در بعضی تاپیکها خواندم ولی متوجه نشدم
اگر می شود راهنمایی کنید
تشکر
حسین خانی
پنج شنبه 28 مرداد 1389, 00:39 صبح
با سلام  :لبخندساده:
اگر برای ایجاد ردیف در DBGrid میخواهید از کد زیر استفاده نمائید :
procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
  DataCol: Integer; Column: TColumn; State: TGridDrawState);
begin
  if DataSource1.DataSet.RecNo > 0 then
    begin
      if Column.Title.Caption = 'Row' then
        DBGrid1.Canvas.TextOut(Rect.Left + 2, Rect.Top, IntToStr(DataSource1.DataSet.RecNo));
    end;    
end;
موفق باشید ...
Delphi7_love
پنج شنبه 28 مرداد 1389, 00:55 صبح
از این کد هم می تونید استفاده کنید
procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
  DataCol: Integer; Column: TColumn; State: TGridDrawState);
begin
with Sender as TDBGrid do
  begin
    if DataSource.DataSet.RecNo > 0 then
      if Column.Index = 0 {First Column}then
        Canvas.TextOut(Rect.Left + 2, Rect.Top, IntToStr(DataSource.DataSet.RecNo));
end;
end;
حمیدرضاصادقیان
پنج شنبه 28 مرداد 1389, 12:09 عصر
از این کد هم می تونید استفاده کنید
procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
  DataCol: Integer; Column: TColumn; State: TGridDrawState);
begin
with Sender as TDBGrid do
  begin
    if DataSource.DataSet.RecNo > 0 then
      if Column.Index = 0 {First Column}then
        Canvas.TextOut(Rect.Left + 2, Rect.Top, IntToStr(DataSource.DataSet.RecNo));
end;
end;
سلام.
این کد شما به کد پست 2 چه فرقی میکنه؟؟؟؟
شما فقط خط اول with sender as Tdbgrid رو اضافه کردید.
اصلا نیازی به این خط نیست و کد نویسی اضافی است.چون اینجا فقط dbgrid داره این event رو صدا میزنه.
مگر اینکه بیان این event رو به event دیگه یک کامپوننت دیگه متصل کنند که اونهم با این کد باید حتما dbgrid باشه و اگر کامپوننت دیگه ای باشه کد شما خطا میده.
 
اگر هم بخواهیم از دستور with استفاده کنیم که دیگه dbgrid تکراری نباشه فقط کافیه بنویسیم with dbgrid1 do که همین کد کفایت میکنه
موفق باشید
Delphi7_love
پنج شنبه 28 مرداد 1389, 13:34 عصر
سلام حق با شماست من به پست قبلی دقت نکرده بودم
 
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.