ایجاد جدول HTML با قابلیت انتقال اطلاعات، مرتب سازی، فیلتر و صفحه بندی
پنجشنبه 7 مرداد 1395در این مقاله یاد خواهید گرفت که ، میتوانید از همه ی جستجوگر ها جدول خود را به اکسل ارسال کنید و توانایی صفحه بندی و فیلتر کردن را خواهید داشت .
معرفی
web Development شامل جداول و gridهای بسیاری است . امروزه ، نرم افزار ها برای قابل صدور (exportable) بودن نیاز به جدول ها یا gridهای اطلاعات دارند . در حال حاضر تزریق (injection) قابلیت صدور اطلاعات، به دلیل مرورگرها و فرمت پیچیدگی ، کاملا پیچیده است . اگرچه ، داشتن مرتب سازی سریع و صفحه بندی در سمت سرویس گیرنده بسیار آسان است .
زمینه
برای یاد گرفتن این هیچ سررشته و مهارتی نیاز نیست . این یک plugin ساده از جدول هاست البته با کلی قابلیت سفارشی ساختن . تنها کاری که شما باید بکنید این است که یک جدول درون HTML بوسیله کدهای زیر بسازید .
استفاده از کد
اولا ، شما ابتدا نیاز دارید که جدول را درون صفحه ی خود بسازید . جدول باید همه تگ های جدول را برای درخواست و استفاده از plugin داشته باشد . جدول head و body ( و گاهی اوقات footer ) دارد . به مثال زیر توجه کنید :
مرحله اول : ساختن جدول
<body> <table id="example" class="display" cellspacing="0" width="100%"> <thead> <tr> <th>نام</th> <th>پست</th> <th>دفتر</th> <th>سن</th> <th>تاریخ شروع</th> <th>حقوق</th> </tr> </thead> <tbody> <tr> <td>ایمان مدائنی </td> <td>مهندس نرم افزار</td> <td>تهران</td> <td>61</td> <td>2011/04/25</td> <td>$320,800</td> </tr> <tr> <td> علی کریمی</td> <td>مدیر سیستم</td> <td>مازندران</td> <td>61</td> <td>2011/04/25</td> <td>$320,800</td> </tr> <tr> <td>سجاد باقرزاده</td> <td>برنامه نویس</td> <td>تبریز</td> <td>63</td> <td>2011/07/25</td> <td>$170,750</td> </tr> <tr> <td>مونا شیرزاد</td> <td>مشاور ارشد</td> <td>شیراز</td> <td>66</td> <td>2009/01/12</td> <td>$86,000</td> </tr> <tr> <td>مهران دبیرزاده </td> <td>توسعه دهنده برنامه های تحت وب</td> <td>کرج</td> <td>22</td> <td>2012/03/29</td> <td>$433,060</td> </tr> <tr> <td>صادق عزیزی</td> <td>تحلیلگر پایگاه داه </td> <td>تهران</td> <td>33</td> <td>2008/11/28</td> <td>$162,700</td> </tr> <tr> <td>محسن کریمخانی </td> <td>حسابدار</td> <td>تهران</td> <td>61</td> <td>2012/12/02</td> <td>$372,000</td> </tr> <tr> <td> هومن خیاط </td> <td>مشاور فروش</td> <td>بوشهر</td> <td>59</td> <td>2012/08/06</td> <td>$137,500</td> </tr> <tr> <td>حسام الدین کوشکستانی </td> <td>مدیر داخلی</td> <td>شمیرانات </td> <td>55</td> <td>2010/10/14</td> <td>$327,900</td> </tr> <tr> <td>محمدحسین ماهر</td> <td>مهندس سخت افزار</td> <td>گیلان</td> <td>39</td> <td>2009/09/15</td> <td>$205,500</td> </tr> <tr> <td>علی علیپور</td> <td>مدیر انفرماتیک</td> <td>اردبیل</td> <td>23</td> <td>2008/12/13</td> <td>$103,600</td> </tr> <tr> <td>حمیدرضا کریم زاده</td> <td>مشاور ارشد</td> <td>اهواز</td> <td>30</td> <td>2008/12/19</td> <td>$90,560</td> </tr> <!-- هر میزانی که اطلاعات و دیتا داشتید رو میتوانیم در این جدول وارد کنید . --> </tbody> </table> </body> </html>
همانطور که میبینید ، کدهای بالا شامل یکسری تگ هست که برای استفاده از پلاگین نیاز به بودن آنها است .
•<thead>
• <tbody>
مرحله دوم : درج کردن JQuery و Plugin
کدهای زیر را در قالب فایل JS و CSS در قسمت Head قرار دهید :
<link rel="stylesheet" href="https://cdn.datatables.net/1.10.12/css/jquery.dataTables.min.css" /> <link rel="stylesheet" href="https://cdn.datatables.net/buttons/1.2.1/css/buttons.dataTables.min.css" /> <Script src="https://code.jquery.com/jquery-1.12.3.js" type="text/javascript"></Script> <Script src="https://cdn.datatables.net/1.10.12/js/jquery.dataTables.min.js" type="text/javascript"></Script> <Script src="https://cdn.datatables.net/buttons/1.2.1/js/dataTables.buttons.min.js" type="text/javascript"></Script> <Script src="https://cdnjs.cloudflare.com/ajax/libs/jszip/2.5.0/jszip.min.js" type="text/javascript"></Script> <Script src="https://cdn.datatables.net/buttons/1.2.1/js/buttons.html5.min.js" type="text/javascript"></Script>
مرحله سوم : درج کردن plugin با استفاده از JQuery
با استفاده از کدهای زیر Plugin را به جدول الصاق کنید .
<script> $(document).ready(function () { $(document).ready(function () { $('table').DataTable({ dom: 'Blfrtip', buttons: [{ text: 'Export To Excel', extend: 'excelHtml5', exportOptions: { modifier: { selected: true }, columns: [0, 1, 2, 3], format: { header: function (data, columnIdx) { return data; }, body: function (data, column, row) { // Strip $ from salary column to make it numeric debugger; return column === 4 ? "" : data; } } }, footer: false, customize: function (xlsx) { var sheet = xlsx.xl.worksheets['sheet1.xml']; //$('c[r=A1] t', sheet).text( 'Custom text' ); //$('row c[r^="C"]', sheet).attr('s', '2'); } }] }); }); }); </script>
جدول شما با داشتن تمام قابلیت های مرتب سازی ، فیلتر کردن ، صفحه بندی و داشتن قابلیت انتقال اطلاعات ، آماده است .
نقاط مورد علاقه
همانطور که مشاهده می کنید ، با کمی تلاش ، شما عملکرد بسیار عالی در مرتب کردن ، فیلتر کردن و انتقال اطلاعات در سمت سرویس گیرنده دارید همراه با پشتیبانی تمام جستجوگر ها .
مرحله چهارم : نتیجه
- HTML
- 5k بازدید
- 4 تشکر