سلام کسی از دوستان با dataTables برای صفحه بندی داده ها کار کرده؟
بهترین آموزش داکیومنت خود پکیج هست :
https://datatables.yajrabox.com/starter
ساده توضیح داده مرحله به مرجله جلو برید متوجه موضوع میشد
اما به طور کلی به این صورت کار می کنه شما یک روت را جهت نمایش اطلاعات در نظر میگیرید و یک روت دیگر را برای پردازش اطلاعات جدول
به عنوان مثال بعد از اضافه کردن فایل های مورد نیاز این پکیج به وب سایت و view مربوطه برای نمایش داده ها در controller مربوطه یک function جهت صفحه نمایش اطلاعات (مثل جدول لیست کاربران ) ایجاد می کنید:
public function index() {
return view('users.index');
}
بعد یک function برای پردازش اطلاعات و ارسال اونها به جدولتون :
public function usersdata()
{
$model = User::get(); //get users
return Datatables::of($model)->make(true);
}
حال در صفحه جدول یا همون view نمایش جدول لیست کاربران که ایجاد کرده بودید باید کد های مربوط به datatable رو قرار بدید :
مثلا اگر yield content@ دارید توی قسمت content اون view اضافه می کنید:
<table class="table table-bordered" id="users-table">
<thead>
<tr>
<th>Id</th>
<th>Name</th>
<th>Email</th>
<th>Created At</th>
<th>Updated At</th>
</tr>
</thead>
</table>
و در قسمت js همون صفحه
$(function() {
$('#users-table').DataTable({
processing: true,
serverSide: true,
ajax: '{!! route('datatables.data') !!}',
columns: [
{ data: 'id', name: 'id' },
{ data: 'name', name: 'name' },
{ data: 'email', name: 'email' },
{ data: 'created_at', name: 'created_at' },
{ data: 'updated_at', name: 'updated_at' }
]
});
});
دقت کنید که به جای
{!! route('datatables.data') !!}
باید آدرس route که برای دریافت دیتا ساختید (usersdata ) در مثال بالا بدید.
باز مستندات رو مطالعه کنید بهتر متوجه میشید و موردی در قسمت خاصی داشتید اعلام بفرمایید
درود.
شما مشکلتون توی کدام قسمت هست ؟
صفحه بندی رو بیشتر با توجه به تنظیمات در صفحه نمایش انجام میده (اگر از پکیج yajra/laravel-datatables استفاده می کنید) یعنی با تنظیم مقدار result تعیین میکنید در هر بار پردازش چه مقدار دیتا برگردونه
بهترین آموزش داکیومنت خود پکیج هست :
https://datatables.yajrabox.com/starter
ساده توضیح داده مرحله به مرجله جلو برید متوجه موضوع میشد
اما به طور کلی به این صورت کار می کنه شما یک روت را جهت نمایش اطلاعات در نظر میگیرید و یک روت دیگر را برای پردازش اطلاعات جدول
به عنوان مثال بعد از اضافه کردن فایل های مورد نیاز این پکیج به وب سایت و view مربوطه برای نمایش داده ها در controller مربوطه یک function جهت صفحه نمایش اطلاعات (مثل جدول لیست کاربران ) ایجاد می کنید:
public function index() {
return view('users.index');
}
بعد یک function برای پردازش اطلاعات و ارسال اونها به جدولتون :
public function usersdata()
{
$model = User::get(); //get users
return Datatables::of($model)->make(true);
}
حال در صفحه جدول یا همون view نمایش جدول لیست کاربران که ایجاد کرده بودید باید کد های مربوط به datatable رو قرار بدید :
مثلا اگر yield content@ دارید توی قسمت content اون view اضافه می کنید:
<table class="table table-bordered" id="users-table">
<thead>
<tr>
<th>Id</th>
<th>Name</th>
<th>Email</th>
<th>Created At</th>
<th>Updated At</th>
</tr>
</thead>
</table>
و در قسمت js همون صفحه
$(function() {
$('#users-table').DataTable({
processing: true,
serverSide: true,
ajax: '{!! route('datatables.data') !!}',
columns: [
{ data: 'id', name: 'id' },
{ data: 'name', name: 'name' },
{ data: 'email', name: 'email' },
{ data: 'created_at', name: 'created_at' },
{ data: 'updated_at', name: 'updated_at' }
]
});
});
دقت کنید که به جای
{!! route('datatables.data') !!}
باید آدرس route که برای دریافت دیتا ساختید (usersdata ) در مثال بالا بدید.
باز مستندات رو مطالعه کنید بهتر متوجه میشید و موردی در قسمت خاصی داشتید اعلام بفرمایید
سلام و خسته نباشید میخاستم یک بحث جدید بسازم که دیدم این هست گفتم پس بهتره همین رو اپدیت کنم
یه چند تا سوال (سوالهای خسته کننده :|) داشتم، گفتم چون شما تجربه دارید میتونید به من مبتدی کمک کنید
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟