جداول قابل ویرایش Bootstrap
جمعه 26 تیر 1394در این مقاله مراحل ساده ای برای راه اندازی جداول قابل ویرایش با استفاده از Bootstrap و ShieldUI-Lite ارائه می گردد.
ShieldUI-Lite یک کتابخانه jQuery منبع باز ( open source ) است که شامل عناصر متفاوتی مانند جدول می باشد که از قابلیت ویرایش پشتیبانی می کند و همچنین از مرتب سازی و گروه بندی وویرایش ستون های مختلف نیز پشتیبانی می کند .
برای مثال ، از یک منبع داده محلی به منظور حفظ منابع ساده استفاده می گردد .
دستورات
اولین مرحله برای راه اندازی صفحه بندی استفاده از دستورات استاندارد Bootstrap می باشد . در اینجا یک div برای تست پنل Bootstrap وجود دارد . همچنین اغلب اطلاعات بسیاری در عناصر استاندارد هر جدول وب قرار می گیرند.
همانطور که در این مثال مشاهده می کنید ، دستورات در این مرحله بسیار ساده هستند .
<div class="col-md-12"> <div class="panel panel-default"> <div class="panel-heading"> <h4 class="text-center">Bootstrap Editable jQuery Grid <span class="fa fa-edit pull-right bigicon"></span></h4> </div> <div class="panel-body text-center"> <div id="grid"></div> </div> </div> </div>
این تمام دستورات HTML مورد نیاز برای راه اندازی نمونه است .
مرحله بعدی افزودن مرجع به همه منابع استفاده شده در نمونه است، مانند stylesheet های فایل های جاوا اسکریپت و اطلاعات .
اطلاعات استفاده شده در مثال یک مجموعه JSON استاندارد می باشند که بصورت جداگانه بار گذاری می شوند . علاوه بر این ، stylesheet برای جدول و فایل های JS. برای راه اندازی آن مرود استفاده قرار می گیرند.
دستورات به صورت زیر هستند:
<link rel="stylesheet" type="text/css" href="@domain/ShieldUI-Lite/dist/css/light/all.min.css" /> <script type="text/javascript" src="@domain/ShieldUI-Lite/dist/js/shieldui-lite-all.min.js"></script> <script type="text/javascript" src="@domain/Content/data/shortGridData.js"></script>
راه اندازی جدول
مرحله بعدی فرآیند راه اندازی عناصر جدول ShieldUI-Lite می باشد . زمانی که به منابع ضرروی نیاز دارید می توانید با برخی دستورات جاوااسکریپت در رویداد document.ready آن را راه اندازی کنید .
در اینجا دو بخش منطقی برای توصیف عناصر وجود دارد . اولین بخش مدیریت datasource برای اطلاعاتی است که در جدول مشاهده می شوند، و بخش دوم راه اندازی ستون هایی که ارائه شده اند، می باشد .
جدول ShieldUI-Lite یک مشخصه datasource داخلی دارد که پر کردن برای اطلاعات محلی یا از راه دور را ساده می کند .
دستورات به این صورت هستند :
dataSource: { data: gridData, schema: { fields: { id: { path: "id", type: Number }, age: { path: "age", type: Number }, name: { path: "name", type: String }, company: { path: "company", type: String }, month: { path: "month", type: Date }, isActive: { path: "isActive", type: Boolean }, email: { path: "email", type: String }, transport: { path: "transport", type: String } } } }
قابلیت ویرایش
مرحله بعدی فر ایند راه اندازی برنامه ای است که انتخاب شده و خصوصیات آن در جدول در دسترس هستند . هر ستون می تواند خصوصیات اضافی مانند header text و width داشته باشد . مشخصه width اجباری نیست ، اما انعطاف پذیری اضافی برای سر تا سر صفحه بندی ارائه می کند.
دستورات برای همه خصوصیات به صورت زیر هستند :
sorting: { multiple: true }, rowHover: false, columns: [ { field: "name", title: "Person Name", width: "120px" }, { field: "age", title: "Age", width:"80px" }, { field: "company", title: "Company Name" }, { field: "month", title: "Date of Birth", format: "{0:MM/dd/yyyy}", width:"120px" }, { field: "isActive", title: "Active" }, { field: "email", title: "Email Address", width: "250px" }, { field: "transport", title: "Custom Editor", width: "120px", editor: myCustomEditor }, { width: "104px", title: "Delete Column", buttons: [ { cls: "deleteButton", commandName: "delete", caption: "<img src='source/delete.png' /> <span>Delete</span>" } ] } ], editing: { enabled: true, event: "click", type: "cell", confirmation: { "delete": { enabled: true, template: function (item) { return "Delete row with ID = " + item.id } } } },
راه اندازی ویرایشگر سفارشی
این ابزار از یرایشگر های مختلفی پشتیبانی می کند ، زمانی کهکنترل در حالت ویرایش قرار می گیرد با کلیک روی هر گزینه جدول ، با توجه به مقدار آن ویرایش انجام می شود . برای مثال ، یک مقدار عددی دارای ورودی عددی با دکمه های افزایش و کاهش می باشد . یک ستون برای انتخاب ساده تر تاریخ دارای ورودی تقویم است .
برای مثال بجای داشتن یک textbox استاندارد می توانیم یک کنترل dropdown با تمامی مقادیر ستون داشته باشیم .
این کار با اتصال به رویداد getCustomEditorValue و ایجاد ویرایشگر سفارشی قابل انجام است .
دستورات به صورت زیر هستند :
events: { getCustomEditorValue: function (e) { e.value = $("#dropdown").swidget().value(); $("#dropdown").swidget().destroy(); } } }); }); function myCustomEditor(cell, item) { $('<div id="dropdown"/>') .appendTo(cell) .shieldDropDown({ dataSource: { data: ["motorbike", "car", "truck"] }, value: !item["transport"] ? null : item["transport"].toString() }).swidget().focus(); }
- C#.net
- 2k بازدید
- 4 تشکر