A control for displaying data in a tabular format.
The component presents a collection of objects according to a user-defined template. Support for various template forms and the possibility to sort, filter data.  Check dataview documentation for more detailed description.
var dataview = webix.ui({
    view:"dataview", 
    id:"dataview1",
    xCount:3,
    type: {
        height: 60,
    },
    template:"<div class='webix_strong'>#title#</div> Year: #year#, rank: #rank#",
    data:[
        { id:1, title:"The Shawshank Redemption", year:1994, rank:1},
        { id:2, title:"The Godfather", year:1972, rank:2},
        { id:3, title:"The Godfather: Part II", year:1974, rank:3},
        { id:4, title:"The Good, the Bad and the Ugly", year:1966, rank:4}
    ] 
});
| add |  adds an item to the store | 
| addCss |  applied CSS class to a component item | 
| adjust |  adjusts the component to the size of the parent HTML container | 
| attachEvent |  attaches the handler to an inner event of the component | 
| bind |  binds components | 
| blockEvent |  temporarily blocks triggering of ALL events of the calling object | 
| callEvent |  calls an inner event | 
| clearAll |  removes all items from the component | 
| clearCss |  removes CSS class from all items | 
| clearValidation |  removes all validation marks from the component | 
| copy |  copies an item to the same or another object | 
| count |  returns the number of currently visible items | 
| customize |  redefines the "type" property | 
| define |  redefines a single configuration property (or a object with properties) | 
| destructor |  destructs the calling object | 
| detachEvent |  detaches a handler from an event (which was attached before by the attachEvent method) | 
| disable |  disables the calling view (makes it dimmed and unclickable) | 
| enable |  enables the calling view that was disabled by the 'disable' method | 
| exists |  checks whether an item with the specified ID exists | 
| filter |  filters the component | 
| find |  returns all rows that match the criterion, or only the first one | 
| getChildViews |  returns child views of the calling component | 
| getFirstId |  returns the ID of the first item | 
| getFormView |  returns master form for the input | 
| getIdByIndex |  returns the ID of the item with the specified index | 
| getIndexById |  returns the index of the item with the specified ID | 
| getItem |  gets the object of the data item with the specified ID | 
| getItemNode |  returns HTML element of the item | 
| getLastId |  returns the ID of the last item | 
| getNextId |  returns the ID of an item that is after the specified item, either directly after or after a number of items (defined by the step) | 
| getNode |  returns the main HTML container for the calling object | 
| getPage |  returns the currently visible page in case of paged view | 
| getPager |  returns the pager object associated with the component | 
| getParentView |  returns the parent view of the component | 
| getPrevId |  returns the ID of an item that is before the specified item,  either directly before or before a number of items (defined by the step) | 
| getScrollState |  returns the scroll position | 
| getSelectedId |  returns the id(s) of the selected item(s) | 
| getSelectedItem |  returns selected object | 
| getTopParentView |  returns the top parent view | 
| hasCss |  checks if item has specific css class | 
| hasEvent |  checks whether the component has the specified event handler | 
| hide |  hides the view | 
| isEnabled |  checks whether the view is enabled | 
| isSelected |  checks whether the specified item is selected or not | 
| isVisible |  checks whether the view is visible | 
| load |  loads data from an external data source | 
| loadNext |  sends a request to load the specified number of records to the end of the client-side dataset or to the specified position | 
| locate |  gets the id of an item from the specified HTML event | 
| mapEvent |  routes events from one object to another | 
| move |  moves the specified item to a new position | 
| moveBottom |  moves the specified item to the last position | 
| moveDown |  increases the item index and moves the item to the new position | 
| moveSelection |  moves selection in the specified direction | 
| moveTop |  moves the specified item to the first position | 
| moveUp |  decreases the item index and moves the item to the new position | 
| parse |  loads data to the component from an inline data source | 
| queryView |  returns inner element/elements of a widget that correspond(s) to the defined parameters | 
| refresh |  repaints the whole view or a certain item | 
| remove |  removes the specified item/items from datastore | 
| removeCss |  removes CSS class from a component item | 
| render |  renders the specified item or the whole component | 
| resize |  adjusts the view to a new size | 
| scrollTo |  scrolls the data container to a certain position | 
| select |  selects the specified item(s) | 
| selectAll |  selects all items or the specified range | 
| serialize |  serializes data to an array of JSON objects | 
| setPage |  makes the specified page visible (assuming that the pager was defined ) | 
| show |  makes the component visible | 
| showItem |  scrolls the component to make the specified item visible | 
| sort |  sorts datastore | 
| sync |  allows syncing two copies of data (all or just a part of it) from one DataCollection to another | 
| unbind |  breaks "bind" link | 
| unblockEvent |  cancels events blocking that was enabled by the 'blockEvent' command | 
| unselect |  removes selection from the specified item | 
| unselectAll |  removes selection from all items | 
| updateItem |  updates the data item with new properties | 
| validate |  validates one record or all dataset against the validation rules | 
| waitSave |  allows to catch the moment when a data operation was saved to the server | 
| onAfterAdd |  fires after adding an item to the datastore | 
| onAfterContextMenu |  fires after the context menu was called in the item area | 
| onAfterDelete |  fires after an item is removed | 
| onAfterDrop |  fires after drag-n-drop was finished | 
| onAfterLoad |  fires after data loading is complete | 
| onAfterRender |  occurs immediately after the component has been rendered | 
| onAfterScroll |  occurs when some webix view has been scrolled | 
| onAfterSelect |  fires after an item has been selected | 
| onAfterSort |  fires after sorting dataset | 
| onAfterUnSelect |  fires after an item has been unselected | 
| onBeforeAdd |  fires before adding an item to the datastore | 
| onBeforeContextMenu |  fires before the context menu is called in the item area | 
| onBeforeDelete |  fires before an item is removed | 
| onBeforeDrag |  fires before the mouse button is pressed and the cursor is moved over a draggable item | 
| onBeforeDragIn |  fires before a dragged element is moved over the droppable area | 
| onBeforeDrop |  fires before a dragged element is released over the droppable area | 
| onBeforeDropOut |  fires before a dragged element is released over the droppable area outside the source widget | 
| onBeforeLoad |  fires immediately before data loading has started | 
| onBeforeRender |  occurs immediately before the component has been rendered | 
| onBeforeSelect |  fires before item selection has started | 
| onBeforeSort |  fires before sorting of the dataset | 
| onBeforeUnSelect |  fires before unselection of an item has started | 
| onBindRequest |  fires when the component is ready to receive data from the master component | 
| onBlur |  fires when focus is moved out of the view | 
| onDataRequest |  fires when data from the server is requested for linear data structures (List, DataTable, DataView etc.) to implement dynamic data loading | 
| onDataUpdate |  fires when a data item is being updated | 
| onDestruct |  occurs when component destroyed | 
| onDragOut |  fires when a dragged element is moved outside of the droppable area | 
| onEnter |  fires when the Enter key has been pressed | 
| onFocus |  fires when a view gets focus | 
| onItemClick |  fires when a component item was clicked | 
| onItemDblClick |  fires when a component item was double-clicked | 
| onItemRender |  for each item rendering, occurs only for items with custom templates | 
| onItemSingleClick |  allows distinguishing between single and double-click events | 
| onKeyPress |  occurs when keyboard key is pressed for the control in focus | 
| onLoadError |  fires when an error occurs during data loading (invalid server side response) | 
| onLongTouch |  fires on holding finger in some position for a certain period of time | 
| onMouseMove |  fires when the mouse was moved over the specified component | 
| onMouseMoving |  fires when the mouse was moved over the component | 
| onMouseOut |  fires when the mouse was moved out from the specified item | 
| onSelectChange |  fires after selection state was changed | 
| onSwipeX |  occurs on a horizontal swipe movement | 
| onSwipeY |  occurs on a vertical swipe movement | 
| onTabFocus |  fires after a tab focus has been changed | 
| onTimedKeyPress |  fires after typing has been finished in the field | 
| onTouchEnd |  occurs when the touch event is ended | 
| onTouchMove |  occurs during touch movement | 
| onTouchStart |  fires when some webix view has been touched | 
| onValidationError |  fires when newly loaded/added/edited data fail to pass validation | 
| onValidationSuccess |  fires after the newlyloaded/added/edited data has passes validation successfully | 
| onViewResize |  fires when the size of a view has been changed by resizer | 
| onViewShow |  fires when any hidden view is shown | 
| animate |  defines the type of animation, with which the view is shown, if it is a Multiview cell | 
| autoheight |  enables automatic calculation of the height based on the content | 
| borderless |  used to hide the component borders | 
| click |  sets an action happening on a button click | 
| container |  an HTML container (or its ID) where the component should be initialized | 
| css |  the name of the CSS class or the object with styles that will be applied to the view container | 
| data |  JavaScript array containing data for the component | 
| datafetch |  defines the number of records that will be loaded during each dynamic loading request | 
| datathrottle |  sets the polling interval (the time period between the completion of a network request and the next request for data) | 
| datatype |  the type of loaded data | 
| disabled |  indicates whether an item is enabled | 
| drag |  enables or disables drag-and-drop | 
| dragscroll |  enables autoscroll of the component during drag-n-drop | 
| externalData |  allows defining custom 'move' logic for the component. | 
| gravity |  sets the view gravity | 
| height |  sets the height of the component | 
| hidden |  defines whether the view will be hidden initially | 
| id |  the ID of a widget | 
| item |  alias to the type property | 
| keyPressTimeout |  a delay between the key press and the action | 
| loadahead |  how the number of records that need to be loaded in addition to mandatory ones during each dynamic loading request | 
| maxHeight |  sets the maximum height for the view | 
| maxWidth |  sets the maximum width for the view | 
| minHeight |  sets the minimal height for the view | 
| minWidth |  sets the minimal width for the view | 
| mouseEventDelay |  the delay between a real mouse action and invoking the related events | 
| multiselect |  enables multiselect mode | 
| navigation |  activates the selection keyboard navigation | 
| on |  allows attaching custom handlers to inner events of the component | 
| onClick |  attaches a click handler for component parts with the specified CSS class | 
| onContext |  a property used to define custom context-click (right click) handlers for elements in the DataTable cells
  | 
| onDblClick |  attaches a dblclick behavior for component items with the specified CSS class. | 
| onMouseMove |  attaches a mousemove behavior for component items with the specified CSS class. | 
| pager |  defines paging configuration (creates a "ui.pager" object) | 
| prerender |  invokes the full rendering of data | 
| ready |  the event handler is called just after the component has been completely initialized | 
| removeMissed |  defines how to treat items in case of reloading | 
| rules |  set of validation rules for the component | 
| save |  defines URLs for data saving | 
| scheme |  defines schemes for data processing | 
| scroll |  enables/disables the scroll bar | 
| scrollSpeed |  the time during which the component is scrolled to the specified position (in milliseconds) | 
| select |  enables/disables items selection or multiselection in widgets | 
| sizeToContent |  if true, the height and width of a Dataview item is calculated based on the data template | 
| template |  the component template | 
| templateLoading |  defines placeholder for each card while data is loading | 
| tooltip |  sets a popup message next to the item when the cursor points to it | 
| type |  an object that specifies items presentation | 
| url |  the URL which the component will use to load data after its initialization | 
| width |  sets the width of a widget | 
| xCount |  adjusts the view width to display a certain number of items in a row | 
| yCount |  adjusts the view height to display the defined number of items in a column | 
| $customPrint |  generates custom HTML to print instead of the widget HTML and invokes printing | 
| $drag |  the method is called when a drag operation is initiated | 
| $dragHTML |  defines how a dragged item will look | 
| $dragIn |  the method is called when an item is moved into a possible drop landing during dnd | 
| $dragMark |  called during drag-n-drop, when some item of the component should be marked as an active drop target | 
| $dragOut |  the method is called when an item is moved out of a possible drop landing during dnd | 
| $drop |  the method is called when an item is dragged and dropped on a valid target | 
| $dropAllow |  can be redefined, if you need custom drop rules | 
| $dropHTML |  defines how the drop area will look before drop | 
| $getSize |  returns the current size of the component | 
| $height |  the current height of the view | 
| $scope |  scope for resolving event and method names | 
| $setNode |  defines HTML element for the component | 
| $setSize |  sets the component size | 
| $skin |  the method which will be called when skin is defined | 
| $tooltipIn |  shows a tooltip | 
| $tooltipMove |  defines the tooltip while the cursor moves over a view or an HTML area | 
| $tooltipOut |  defines the behavior of a tooltip when the cursor is out of the target widget or HTML area | 
| $view |  reference to the top HTML element of the view | 
| $width |  the current width of the view | 
| config |  all options from the initial component configuration | 
| data |  inner DataStore | 
| name |  indicates the name of the component (a read-only property) | 
| on_click |  redefines default click behavior for component items. | 
| on_context |  a property used to define custom context-click (right click) handlers for elements in widgets | 
| on_dblclick |  attaches a dblclick behavior for component items with the specified CSS class | 
| on_mouse_move |  attaches a mouse move behavior for component items with the specified CSS class | 
| type |  set of properties and helpers for item rendering | 
| types |  collection of possible types | 
| waitData |  eventual result of an asynchronous operation ('promise' object) for the loaded data |