پرش به محتوا
بناBana UI

حالت نمایش

پالت رنگی

با ↑ ↓ جابه‌جا شوید و Enter را بزنید. Esc برای بستن.

Data Table

یک جدول معمولی را در <div ui="data-table"> بگذارید تا مرتب‌سازی، جست‌وجوی فارسی‌محور و صفحه‌بندی بگیرد. ردیف‌ها در DOM می‌مانند، پس چاپ و حالت بدون JavaScript سالم است. ماژول table لازم است.

جدول محصولات
موجودی انبار
محصولدستهقیمتموجودی
چای سبز ممتازنوشیدنی۱۸۵٬۰۰۰ تومان۴۲
زعفران سرگلادویه۱٬۲۵۰٬۰۰۰ تومان۱۸
عسل کوهستانشیرینی۶۴۰٬۰۰۰ تومان۰
پسته اکبریخشکبار۸۹۰٬۰۰۰ تومان۲۷
سنگ نمک ریزادویه۹۵٬۰۰۰ تومان۱۲۰
مربای بهشیرینی۲۱۰٬۰۰۰ تومان۹
بادام زمینیخشکبار۳۱۰٬۰۰۰ تومان۶۴
دمنوش آرامشنوشیدنی۱۶۵٬۰۰۰ تومان۳۳
گلاب کاشاننوشیدنی۱۲۰٬۰۰۰ تومان۵۱
کشمش پلوییخشکبار۲۶۰٬۰۰۰ تومان۱۵
رب انارشیرینی۱۷۵٬۰۰۰ تومان۲۲
سماق درجه یکادویه۱۴۰٬۰۰۰ تومان۳۸
کد
<div ui="data-table" data-page-size="5" data-empty-text="محصولی با این نام پیدا نشد.">
  <label ui="field"><span>جست‌وجوی محصول</span><input type="search" data-table-search placeholder="مثلاً زعفران یا 12"></label>
  <div ui="table-wrap">
    <table ui="table">
      <caption>موجودی انبار</caption>
      <thead><tr><th data-sort="text">محصول</th><th data-sort="text">دسته</th><th data-sort="number">قیمت</th><th data-sort="number">موجودی</th></tr></thead>
      <tbody>
        <tr><td>چای سبز ممتاز</td><td>نوشیدنی</td><td data-value="185000">۱۸۵٬۰۰۰ تومان</td><td data-value="42">۴۲</td></tr><tr><td>زعفران سرگل</td><td>ادویه</td><td data-value="1250000">۱٬۲۵۰٬۰۰۰ تومان</td><td data-value="18">۱۸</td></tr><tr><td>عسل کوهستان</td><td>شیرینی</td><td data-value="640000">۶۴۰٬۰۰۰ تومان</td><td data-value="0">۰</td></tr><tr><td>پسته اکبری</td><td>خشکبار</td><td data-value="890000">۸۹۰٬۰۰۰ تومان</td><td data-value="27">۲۷</td></tr><tr><td>سنگ نمک ریز</td><td>ادویه</td><td data-value="95000">۹۵٬۰۰۰ تومان</td><td data-value="120">۱۲۰</td></tr><tr><td>مربای به</td><td>شیرینی</td><td data-value="210000">۲۱۰٬۰۰۰ تومان</td><td data-value="9">۹</td></tr><tr><td>بادام زمینی</td><td>خشکبار</td><td data-value="310000">۳۱۰٬۰۰۰ تومان</td><td data-value="64">۶۴</td></tr><tr><td>دمنوش آرامش</td><td>نوشیدنی</td><td data-value="165000">۱۶۵٬۰۰۰ تومان</td><td data-value="33">۳۳</td></tr><tr><td>گلاب کاشان</td><td>نوشیدنی</td><td data-value="120000">۱۲۰٬۰۰۰ تومان</td><td data-value="51">۵۱</td></tr><tr><td>کشمش پلویی</td><td>خشکبار</td><td data-value="260000">۲۶۰٬۰۰۰ تومان</td><td data-value="15">۱۵</td></tr><tr><td>رب انار</td><td>شیرینی</td><td data-value="175000">۱۷۵٬۰۰۰ تومان</td><td data-value="22">۲۲</td></tr><tr><td>سماق درجه یک</td><td>ادویه</td><td data-value="140000">۱۴۰٬۰۰۰ تومان</td><td data-value="38">۳۸</td></tr>
      </tbody>
    </table>
  </div>
</div>

سرستون‌های data-sort="text|number" دکمه واقعی می‌شوند و aria-sort می‌گیرند؛ هر کلیک: صعودی ← نزولی ← بدون ترتیب. مرتب‌سازی عددی ارقام فارسی، جداکننده هزارگان و واحد را می‌فهمد؛ اگر مقدار خام دارید در data-value بگذارید. جست‌وجو «ي/ی»، «ك/ک»، ارقام و نیم‌فاصله را یکی می‌کند. رویدادها: bana:table-sort، bana:table-filter و bana:table-page.

صفتکار
data-page-size="10"تعداد ردیف در هر صفحه (بدون آن همه ردیف‌ها دیده می‌شوند).
data-table-searchروی یک <input> داخل wrapper برای فیلتر زنده.
data-empty-textمتن حالت «نتیجه‌ای نیست».
data-valueمقدار خام یک سلول برای مرتب‌سازی و جست‌وجو.
این یک جدول سمت کلاینت است.برای هزاران ردیف، مرتب‌سازی و صفحه‌بندی را در سرور انجام دهید و فقط از رویدادها و استایل استفاده کنید.

ویرایش این صفحه در GitHub