PDA

View Full Version : مشکل در مرتب کردن عناصر گرید



matinebi
جمعه 16 مرداد 1388, 21:20 عصر
من با دستور زیر عناصر گرید رو مرتب میکنم

procedure TForm1.DBGrid1TitleClick(Column: TColumn);
begin
AdoQuery1.Sort := Column.DisplayName ;
end ;

اما مشکل اینجاست که فقط در مورد یک کالا تعدادی از کالاهارو یکجا مابقی را یکجای دیگر نمایش میدهد
مثلا کالایی که با نام کابل که در بانک ثبت شده 15 تا اول بعد تعدادی از کالاهای دیگر دوباره 5 تا دیگر با نام کابل نمایش میدهد در صورتی که تمامی این 20 فیلدی که با نام کابل ثبت شده باید یکجا نشان دهد

حمیدرضاصادقیان
جمعه 16 مرداد 1388, 21:36 عصر
سلام.شاید کدپیج حرف ک باهم تفاوت داره.او 5 کالا رو اصلاح کن دوباره وارد کن ببین درست میشه.

matinebi
شنبه 17 مرداد 1388, 08:47 صبح
ویرایش هم کردم ولی باز هم نیومد نکته جالب تر این که زمانی که با فست ریپورت هم گزارش میگیرم نام همون فیلد ها نمایش داده نمیشه ولی بقیه فیلدها همگی به درستی نمایش داده میشود
لطفا راهنمایی نمایید
با تشکر
--------------------------------------------------
مشکل با ویرایش حل شد
با تشکر از شما دوست عزیز

K.Mohammadreza
یک شنبه 18 مرداد 1388, 14:42 عصر
من از شيوه زير براي مرتب سازي اطلاعات استفاده مي کنم و مشکلي ندارم شما هم امتحان کن



procedure TfrmICC.DBGride1MouseMove(Sender: TObject; Shift: TShiftState;
X, Y: Integer);
var
pt: TGridcoord;
begin
if pt.y = 0 then
Screen.Cursor := crHand
else
Screen.Cursor := crDefault;
end;
//*******************************TortriX Software*******************************
procedure TfrmICC.DBGride1TitleClick(Column: TColumn);
{$J+}
const PreviousColumnIndex : integer = 0;
{$J-}
begin
if frmDataModule.tblBuyPersonal.Active = True then
begin
if DBGride1.DataSource.DataSet is TCustomADODataSet then
with TCustomADODataSet(ListAccount.DataSource.DataSet) do
begin
try
DBGride1.Columns[PreviousColumnIndex].Title.Font.Style :=
DBGride1.Columns[PreviousColumnIndex].Title.Font.Style - [fsBold];
except
end;
if Column.Index <> 2 then
begin
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
begin
Sort := Column.Field.FieldName + ' DESC';
end
else
begin
Sort := Column.Field.FieldName + ' ASC';
end;
end;
end;
end;
end;


البته بايد يونيت adoDB‌را نيز به يونيت ها اضافه کني