diff --git a/examples/js/sort/custom-sort-with-extra-data-table.js b/examples/js/sort/custom-sort-with-extra-data-table.js
new file mode 100644
index 000000000..6b2c50d33
--- /dev/null
+++ b/examples/js/sort/custom-sort-with-extra-data-table.js
@@ -0,0 +1,61 @@
+import React from 'react';
+import { BootstrapTable, TableHeaderColumn } from 'react-bootstrap-table';
+
+const products = [];
+
+const qualityType = {
+ 0: 'good',
+ 1: 'bad',
+ 2: 'unknown'
+};
+
+function addProducts(quantity) {
+ const startId = products.length;
+ for (let i = 0; i < quantity; i++) {
+ const id = startId + i;
+ products.push({
+ id: id,
+ name: 'Item name ' + id,
+ quality: i % 3
+ });
+ }
+}
+
+addProducts(5);
+
+function enumFormatter(cell, row, enumObject) {
+ return enumObject[cell];
+}
+
+function sortByName(a, b, order, field, enumObject) {
+ if (order === 'desc') {
+ if (enumObject[a[field]] > enumObject[b[field]]) {
+ return -1;
+ } else if (enumObject[a[field]] < enumObject[b[field]]) {
+ return 1;
+ }
+ return 0;
+ }
+ if (enumObject[a[field]] < enumObject[b[field]]) {
+ return -1;
+ } else if (enumObject[a[field]] > enumObject[b[field]]) {
+ return 1;
+ }
+ return 0;
+}
+
+export default class CustomSortWithExtraDataTable extends React.Component {
+ render() {
+ return (
+