All Projects → henrybuilt → React Sticky Table

henrybuilt / React Sticky Table

Licence: mit
Responsive and dynamically-sized fixed headers and columns for tables

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to React Sticky Table

Blazor.flexgrid
GridView component for Blazor
Stars: ✭ 185 (-6.57%)
Mutual labels:  component
React Native Popover View
A well-tested, adaptable, lightweight <Popover> component for react-native
Stars: ✭ 191 (-3.54%)
Mutual labels:  component
Inflector
Inflector converts words between their singular and plural forms (English only).
Stars: ✭ 2,232 (+1027.27%)
Mutual labels:  component
V Chart Plugin
Easily bind a chart to the data stored in your Vue.js components.
Stars: ✭ 188 (-5.05%)
Mutual labels:  component
Vue Plugin Template
🚀 Solid foundation to start a Vue plugin with the best developer experience and a focus on performance
Stars: ✭ 189 (-4.55%)
Mutual labels:  component
Vuetify Daterange Picker
The missing date range picker for Vuetify JS you have been looking for.
Stars: ✭ 192 (-3.03%)
Mutual labels:  component
React Rnd
🖱 A resizable and draggable component for React.
Stars: ✭ 2,560 (+1192.93%)
Mutual labels:  component
Brouter
Stars: ✭ 198 (+0%)
Mutual labels:  component
Vue Infinite Slide Bar
∞ Infinite slide bar component (no dependency and light weight 1.48 KB)
Stars: ✭ 190 (-4.04%)
Mutual labels:  component
Stopwatch
The Stopwatch component provides a way to profile code.
Stars: ✭ 2,388 (+1106.06%)
Mutual labels:  component
Intl
A PHP replacement layer for the C intl extension that also provides access to the localization data of the ICU library.
Stars: ✭ 2,323 (+1073.23%)
Mutual labels:  component
React Widgets
Polished, feature rich, accessible form inputs built with React
Stars: ✭ 2,236 (+1029.29%)
Mutual labels:  component
Component
🔥🔥🔥A powerful componentized framework.一个强大、100% 兼容、支持 AndroidX、支持 Kotlin并且灵活的组件化框架
Stars: ✭ 2,434 (+1129.29%)
Mutual labels:  component
Element Patch
An extension package based on vue and element-ui. 一个基于 vue 与 element-ui 的扩展包,提供数据驱动的表单渲染,菜单渲染,表格拖拽,权限控制等功能
Stars: ✭ 187 (-5.56%)
Mutual labels:  component
Malagu
Malagu Development Framework (QQ: 1013685855 钉钉群:31992376)
Stars: ✭ 196 (-1.01%)
Mutual labels:  component
Plus
💝The Plus (ThinkSNS+) is a powerful, easy-to-develop social system built with Laravel.
Stars: ✭ 2,148 (+984.85%)
Mutual labels:  component
Xing Weapp Component
微信小程序基础组件扩展
Stars: ✭ 192 (-3.03%)
Mutual labels:  component
Silentbox
A lightbox inspired Vue.js component.
Stars: ✭ 196 (-1.01%)
Mutual labels:  component
Form
The Form component allows you to easily create, process and reuse HTML forms.
Stars: ✭ 2,406 (+1115.15%)
Mutual labels:  component
Property Access
The PropertyAccess component provides function to read and write from/to an object or array using a simple string notation.
Stars: ✭ 2,362 (+1092.93%)
Mutual labels:  component

React Sticky Table

Responsive and dynamically-sized fixed headers, footers, and columns for tables.

SEEKING EXAMPLE LINKS - please comment in this issue with your applications using react-sticky-table

Demo

Features

  • 0 dependencies, no css import necessary, no js, highly performant.
  • 0, 1, or AS MANY sticky headers, left columns, right columns, footers as you want.
  • Responsive table dimensions (wrap it in any size container and it will fill that container)
  • Dynamic row height & column width (no need to specify fixed width/height in pixels)
  • Table rows/columns resize as content resizes
  • Custom cells (just make sure your custom cell has display: table-cell and the css selector .sticky-table-cell)
  • Multiple tables per page
  • Scrollbars that are smooth and visible at all times
  • Native scrolling

Top todos

  • Use VirtualDom implementation
  • Support IE <= 11

Getting Started

npm install react-sticky-table --save

Example

import React, {Component} from 'react';
import {StickyTable, Row, Cell} from 'react-sticky-table';

export default class BasicExample extends Component {
  render() {
    return (
      <div>
        <div style={{width: '100%', height: '400px'}}>
          <StickyTable>
            <Row>
              <Cell>Header 1</Cell>
              <Cell>Header 2</Cell>
            </Row>
            <Row>
              <Cell>Cell 1</Cell>
              <Cell>Cell 2</Cell>
            </Row>
          </StickyTable>
        </div>
      </div>
    );
  }
}

Props

  • sticky count
    • stickyHeaderCount: int - default: 1
    • leftStickyColumnCount: int - default: 1
    • rightStickyColumnCount: int - default: 0
    • stickyFooterCount: int - default: 0
  • z-index
    • headerZ: int - default: 2 (sticky corners are the greater of their two sides + 1)
    • leftColumnZ: int - default: 2
    • rightColumnZ: int - default: 2
    • footerZ: int - default: 2
  • border
    • borderWidth: default: '2px'
    • borderColor: default: '#e5e5e5'
  • wrapperRef: default: undefined, value: React ref - a reference you can use for the wrapper element that has scroll events on it

Disable sticky header:

<StickyTable stickyHeaderCount={0}>

Disable sticky column:

<StickyTable leftStickyColumnCount={0}>

Disable borders:

<StickyTable borderWidth={0}>

License

(The MIT License)

Copyright (c) 2017 Henrybuilt.

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the 'Software'), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].