سورت کردن ستونهای یک DBGrid

سورت کردن و چیدن ستونهای یک  DbGrid  با کلیک کردن بر روی سر تیتر ستونها :

ابتدا در رویدادِ DBGridMouseMove   بنویسید :

 

 

procedure TForm1.DBGrid1MouseMove

  (Sender: TObject; Shift: TShiftState; X, Y: Integer);

var

  pt: TGridcoord;

begin

  pt:= DBGrid1.MouseCoord(x, y);

 

  if pt.y=0 then

    DBGrid1.Cursor:=crHandPoint

  else

    DBGrid1.Cursor:=crDefault;

End;

سپس در رویداد  DBGridTitleClick  بنویسید :

 

 

procedure TForm1.DBGrid1TitleClick(Column: TColumn);

{$J+}

 const PreviousColumnIndex : integer = -1;

{$J-}

begin

  if DBGrid1.DataSource.DataSet is TCustomADODataSet then

  with TCustomADODataSet(DBGrid1.DataSource.DataSet) do

  begin

    try

      DBGrid1.Columns[PreviousColumnIndex].title.Font.Style :=

      DBGrid1.Columns[PreviousColumnIndex].title.Font.Style - [fsBold];

    except

    end;

 

    Column.title.Font.Style :=

    Column.title.Font.Style + [fsBold];

    PreviousColumnIndex := Column.Index;

 

    if (Pos(Column.Field.FieldName, Sort) = 1)

    and (Pos(' DESC', Sort)= 0) then

      Sort := Column.Field.FieldName + ' DESC'

    else

      Sort := Column.Field.FieldName + ' ASC';

  end;

end;

 

 


نظرات 2 + ارسال نظر
مهدیس پنج‌شنبه 5 خرداد‌ماه سال 1384 ساعت 12:41 ق.ظ http://www.mahdis.blogsky.com

سلام
از اینکه با وبلاگ شما آشنا شدم خیلی خوشحالم
خیلی مطالب جالب و آموزنده ایی داره
موفق باشید

محمدرضامحمدی شنبه 17 دی‌ماه سال 1384 ساعت 12:38 ب.ظ

با سلام
اگر برای شما امکان داشت جزوه راهنمای installshield را برای من ایمیل فرمایید
با تشکر
محمدی

برای نمایش آواتار خود در این وبلاگ در سایت Gravatar.com ثبت نام کنید. (راهنما)
ایمیل شما بعد از ثبت نمایش داده نخواهد شد