PDA

View Full Version : مرتب سازی در Dbgride



Dsh_Delphi
چهارشنبه 10 خرداد 1385, 17:11 عصر
اگر یکی از شما ها بتواند به من کمک کند که بتوانم
Dbgride را بدون استفاده از ایندکس مرتب سازی (Sort) کنم به صورتی که سرعت همان ایندکس را داشته باشد .

من در عوض مجموعه ای از کامپوننت هارا دارم هر نوع کامپوننتی که بخواهد برایش میفرستم

با تشکر :متفکر:

Developer Programmer
چهارشنبه 10 خرداد 1385, 19:40 عصر
اگه قبل از عضویت در سایت، مجموعه قوانین رو مطالعه می کردید حتما متوجه میشدید که باید اول از قسمت جستجوی سایت جستجو کنید،
موضوع مرتب سازی Grid صدها بار بحث شده

Dsh_Delphi
چهارشنبه 10 خرداد 1385, 20:07 عصر
آقا Afshin_zavar اول خودتون از ادعای موردی مطمئن شوید بعد .

اون موضوعی رو که من میخوام نیست عزیزم نیست ...

اگه نمیتونی کمک کنی " گیر " نده باشه ........

ghabil
چهارشنبه 10 خرداد 1385, 23:06 عصر
تو بگو چرا نمی خوای از ایندکس استفاده کنی شاید واسه اون راه حل پیدا شد ، این چیزی که میخوای راه حلش ایندکسه یا استفاده کردن از یک گرید بجای DBGrid یا استفاده از یک Cloned Table

Dsh_Delphi
پنج شنبه 11 خرداد 1385, 09:07 صبح
Table ی که من میخوام استفاده کنم 200 تا فیلد داره و اگر من بخوام از ایندکس استفاده کنم
حجم دیتاهام تقریبا 200 برابر بیشتر میشه .

من میخوام بدونم روش دیگری برای حل این مشکل هست .
اگه Grid ی باشه که خودش sort کنه مشکلم حله .

Dsh_Delphi
پنج شنبه 11 خرداد 1385, 09:20 صبح
با تشکر از شما آقا Ghabil :
من جدولی دارم که 200 تا فیلد داره اگر بخوام از ایندکس استفاده کنم دیتاها خود بخود چندین برابر میشه .

برای حل این مشکل میخوام ببینم DBGrid ی هست که این کار رو بکنه یا نه .

البته اگر از ADO استفاده کنم این مشکل حله ولی من اصلا تا حالا با ADO کار نکردم و به غیر

از پارادوکس جدول دیگری نساختم کمکم کنید لطفا ... خواهش میکنم :گریه: :خجالت:

mzjahromi
پنج شنبه 11 خرداد 1385, 10:02 صبح
اگر از ClientDataSet استفاده کنید (و همچنین ایندکس) اطلاعات افزایش پیدا نمی کنه. شما با BDE به بانک متصل می شید و با ClientDataSet به BDE .
به ایندکسها هم کاری ندارید. ClientDataSet خودش همه کاری میکنه.

ghabil
جمعه 12 خرداد 1385, 04:16 صبح
1) یک فکری به حال جدول با 200 تا فیلد بکن اصلا جالب نیست
2) کی گفته حجم دیتاها 200 برابر میشه ؟!! ایندکس روی یک فیلد میزاری نه روی کل دیتا که ! بعدش هم چه ربطی به تعداد فیلدها داره اصلا؟
3) اگر مشکلت سورت هست چرا یک Order By نمیزنی ته Queryت که اصلا دیتا سورت شده بیاد؟
4)ADO یا BDE چه فرقی دارند ؟! اینا روشهای اتصال به دیتابیس هستند به هر حال تو هرکدوم یا باید Order By بزنی یا ایندکس بسازی دیگه .

جدا جدول با 200 فیلد درآینده برات مشکل ساز میشه ، اگر صرفا یک جدول یکی دو رکوردی نیست! باید جدولها رو بشکنی به چند تا جدول بعد Join بکنیشون.

Dsh_Delphi
شنبه 13 خرداد 1385, 22:29 عصر
از لطف همه شما ممنونم اما اگر یکیتون برایم یک پروژه بنویسه که با ADO باشه و تو برنامه
هم سورت هم ادیت هم اینزرت هم دیلت و بقیه موارد رو باشه خیلی خیلی ممنون میشم

من هم در عوض هر کامپوننتی رو که خواست براش میفرستم.

mehdi_khepel2004
دوشنبه 15 خرداد 1385, 11:41 صبح
سلام
با دستورات sql که خیلی راحت میتونی این کارو انجام بدی
select * from tabel name group by field name
بر اساس نام فیلی مرتب

ghabil
دوشنبه 15 خرداد 1385, 23:32 عصر
البته منظورشون ORDER BY FieldName هست ...
ببین بشین خودت بنویس یکمی سر و کله بزن هرجا مشکل داشتی بپرس اینطوری یاد هم میگیری...

محمد دادودنیا
پنج شنبه 25 آبان 1385, 02:13 صبح
روی ADODataset یه متد هست به نام Sort اسم فیلد رو بده سوت ثانیه مرتب می شه