سلام و شب خیر خدمت شما برنامه نویسان و طراحان محترم
خدمت شما عرض کنم بنده یه لیست دارم که با استفاده از jqueryUi ایتم های لیستو به وسیله کشیدن و رها کردن مرتب سازی میکنم و موقعیت هر آیتم رو در جدول ذخیره میکنم که با رفرش شدن صفحه موقعیت قرار گیری هر آیتم حفظ میشه این روش برای لیستهایی که صفحه بندی نشدن خیلی خوب هست اما وقتی من لیستمو صفحه بندی کردم این روش اصلا کار نکرد و همه چی خراب شد خواستم اگه در این زمینه ایده ای دارید خوشحال میشم راهنمایی بفرمایید که با وجود صفحه بندی هم بشه این مرتب سازی رو به روش درستی انجام داد.
مهندس سلام.
ممنون میشم کدش و نحوه ذخیره سازی موقعیتش رو بهم بدین به شدت دنبال این مورد بودم
بازهم ممنون
شما برای ذخیره ترتیب هر آیتم نیازمند یک فیلد هستید که مثلا اسمش رو بذاریم orderindex که یک integer هست و از این به بعد موقع کوئری گرفتن مبنای sorting ما قرار میگیره.
حالا اگر تعداد آیتم هاتون زیاده و باید از pagination استفاده کنید، کافیه مقدار orderindex های جدید رو متناسب با شماره صفحه محاسبه کنید. یعنی مثلا اگر در هر صفحه ۱۰ آیتم میگیرید و الان در صفحه سوم هستید مقادیر orderindex به ترتیب میشن 21, 22, 23, 24, ... که با چندتا ضرب و تقسیم ساده بدست میاد.
بعد از درگ اند دراپ ها کافیه index قرارگیری المنت رو با جاوااسکریپت محاسبه کنیم و به بک اند بفرستیم و در دیتابیس ذخیره کنیم.
(ولی در کل توجه داشته باشید که شاید به این نحو محدودیت هایی وجود داشته باشه. مثلا اینکه شما نهایتا میتونید رکوردها رو داخل صفحه خودشون مرتب کنید و امکان انتقال به صفحه قبل و بعد وجود نداره. اگر این قضیه براتون مهم هست به نظرم مثلا میشه از infinite scrolling استفاده کرد. یعنی هر وقت به انتهای لیست اسکرول کردیم رکوردهای صفحه بعدی فراخونی بشن و به انتهای همون لیست اضافه بشوند)
پ ن: پکیج زیر رو هم یک بررسی بکنید. از خیلی جهات برتری داره نسبت به jquery UI که میتونید در قسمت توضیحاتش مطالعه کنید و در عمل آزمایش کنید. من ازش استفاده کردم و خیلی راضیم:
http://sortablejs.github.io/Sortable/
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟