diff --git a/apps/common/main/lib/component/ComboBox.js b/apps/common/main/lib/component/ComboBox.js
index 5b7a7f4cc..486790967 100644
--- a/apps/common/main/lib/component/ComboBox.js
+++ b/apps/common/main/lib/component/ComboBox.js
@@ -217,6 +217,11 @@ define([
                         });
                     }
 
+                    var $list = el.find('.dropdown-menu');
+                    if ($list.hasClass('menu-absolute')) {
+                        $list.css('min-width', el.outerWidth());
+                    }
+
                     el.on('show.bs.dropdown',             _.bind(me.onBeforeShowMenu, me));
                     el.on('shown.bs.dropdown',            _.bind(me.onAfterShowMenu, me));
                     el.on('hide.bs.dropdown',             _.bind(me.onBeforeHideMenu, me));
@@ -292,6 +297,12 @@ define([
                         tip.hide();
                     }
                 }
+
+                var $list = this.cmpEl.find('ul');
+                if ($list.hasClass('menu-absolute')) {
+                    var offset = this.cmpEl.offset();
+                    $list.css({left: offset.left, top: offset.top + this.cmpEl.outerHeight() + 2});
+                }
             },
 
             onAfterShowMenu: function(e) {
diff --git a/apps/common/main/resources/less/combobox.less b/apps/common/main/resources/less/combobox.less
index 9b87f75da..e05416470 100644
--- a/apps/common/main/resources/less/combobox.less
+++ b/apps/common/main/resources/less/combobox.less
@@ -106,4 +106,8 @@
         padding-top: 0;
         padding-bottom: 0;
     }
+
+    .dropdown-menu.menu-absolute {
+        position: fixed;
+    }
 }
diff --git a/apps/spreadsheeteditor/main/app/template/SortDialog.template b/apps/spreadsheeteditor/main/app/template/SortDialog.template
index 473525016..3473e8a76 100644
--- a/apps/spreadsheeteditor/main/app/template/SortDialog.template
+++ b/apps/spreadsheeteditor/main/app/template/SortDialog.template
@@ -13,14 +13,14 @@
             
             
                 | 
-                    
-                    
+                    
+                    
                     
                  | 
             
             
                 | 
-                    
+                    
                  | 
             
         
diff --git a/apps/spreadsheeteditor/main/app/view/SortDialog.js b/apps/spreadsheeteditor/main/app/view/SortDialog.js
index 872a6371d..52370aa05 100644
--- a/apps/spreadsheeteditor/main/app/view/SortDialog.js
+++ b/apps/spreadsheeteditor/main/app/view/SortDialog.js
@@ -88,11 +88,10 @@ define([  'text!spreadsheeteditor/main/app/template/SortDialog.template',
                 emptyText: '',
                 template: _.template([''].join('')),
                 itemTemplate: _.template([
-                        '',
-                            '
',
-                            '
<%= name %>
',
-                            '
<%= scopeName %>
',
-                            '
<%= range %>
',
+                        '
'
                 ].join(''))
             });
@@ -149,76 +148,114 @@ define([  'text!spreadsheeteditor/main/app/template/SortDialog.template',
                     // sensitive: props.asc_getCaseSensitive(),
                     sort: props.asc_getColumnSort()
                 };
+
+                // get name from props
+                this.column_data = [
+                    { value: 'a', displayValue: 'a' },
+                    { value: 'b', displayValue: 'b' },
+                    { value: 'c', displayValue: 'c' }
+                ];
+                this.sort_data = [
+                    { value: Asc.c_oAscSortOptions.ByValue, displayValue: this.textValues },
+                    { value: Asc.c_oAscSortOptions.ByColorFill, displayValue: this.textCellColor },
+                    { value: Asc.c_oAscSortOptions.ByColorFont, displayValue: this.textFontColor },
+                    { value: Asc.c_oAscSortOptions.ByIcon, displayValue: this.textCellIcon }
+                ];
+                this.order_data = [
+                    { value: Asc.c_oAscSortOptions.Ascending, displayValue: this.textAZ },
+                    { value: Asc.c_oAscSortOptions.Descending, displayValue: this.textZA }
+                    ];
+
+                this.sortList.on('item:add', _.bind(this.addControls, this));
+                this.sortList.on('item:change', _.bind(this.addControls, this));
+                this.refreshList(props.asc_getLevels());
             }
         },
 
-        refreshRangeList: function(ranges, selectedItem) {
-            if (ranges) {
-                this.ranges = ranges;
+        refreshList: function(levels) {
+            this.cmbsColumn = [];
+            this.cmbsSort = [];
+            this.cmbsOrder = [];
+
+            if (levels) {
                 var arr = [];
-                for (var i=0; i
0) ? this.textnoNames : this.textEmpty);
-            }
 
-            var me = this,
-                store = this.rangeList.store,
-                models = this.rangesStore.models,
-                val = this.cmbFilter.getValue(),
-                isTableFilter = (val<3) ? (val==2) : -1,
-                isWorkbook = (val>2) ? (val==4) : -1;
-            if (val>0)
-                models = this.rangesStore.filter(function(item) {
-                    if (isTableFilter!==-1)
-                        return (isTableFilter===item.get('isTable'));
-                    if (isWorkbook!==-1)
-                        return (isWorkbook===(item.get('scope')===null));
-                    return false;
+                // arr.push({
+                //     index: 0,
+                //     name: 'a',
+                //     sort: Asc.c_oAscSortOptions.ByValue,
+                //     order: Asc.c_oAscSortOptions.Ascending
+                // });
+                // arr.push({
+                //     index: 1,
+                //     name: 's',
+                //     sort: Asc.c_oAscSortOptions.ByValue,
+                //     order: Asc.c_oAscSortOptions.Descending
+                // });
+
+                arr.sort(function (a, b) {
+                    return a.index - b.index;
                 });
-
-            store.reset(models, {silent: false});
-
-            val = store.length;
-            this.btnEditRange.setDisabled(!val);
-            this.btnDeleteRange.setDisabled(!val);
-            if (val>0) {
-                if (selectedItem===undefined || selectedItem===null) selectedItem = 0;
-                if (_.isNumber(selectedItem)) {
-                    if (selectedItem>val-1) selectedItem = val-1;
-                    this.rangeList.selectByIndex(selectedItem);
-                    setTimeout(function() {
-                        me.rangeList.scrollToRecord(store.at(selectedItem));
-                    }, 50);
-
-                } else if (selectedItem){ // object
-                    var rec = store.findWhere({name: selectedItem.asc_getName(true), scope: selectedItem.asc_getScope()});
-                    if (rec) {
-                        this.rangeList.selectRecord(rec);
-                        setTimeout(function() {
-                            me.rangeList.scrollToRecord(rec);
-                        }, 50);
-                    }
-                }
-
-                if (this.userTooltip===true && this.rangeList.cmpEl.find('.lock-user').length>0)
-                    this.rangeList.cmpEl.on('mouseover',  _.bind(me.onMouseOverLock, me)).on('mouseout',  _.bind(me.onMouseOutLock, me));
+                this.sortList.store.reset(arr);
             }
-            _.delay(function () {
-                me.rangeList.cmpEl.find('.listview').focus();
-                me.rangeList.scroller.update({alwaysVisibleY: true});
-            }, 100, this);
+        },
+
+        addControls: function(listView, itemView, item) {
+            if (!item) return;
+
+            var cmpEl = this.sortList.cmpEl;
+            var i = item.get('index');
+            var el = cmpEl.find('#sort-dialog-cmb-col-' + i),
+                combo = new Common.UI.ComboBox({
+                    el          : el,
+                    editable    : false,
+                    cls         : 'input-group-nr',
+                    menuCls     : 'menu-absolute',
+                    data        : this.column_data
+                }).on('selected', function(combo, record) {
+                    item.set('name', record.value);
+                });
+            var val = item.get('name');
+            (val!==null) && combo.setValue(item.get('name'));
+            this.cmbsColumn[i] = combo;
+
+            el = cmpEl.find('#sort-dialog-cmb-sort-' + i);
+            combo = new Common.UI.ComboBox({
+                el          : el,
+                editable    : false,
+                cls         : 'input-group-nr',
+                menuCls     : 'menu-absolute',
+                data        : this.sort_data
+            }).on('selected', function(combo, record) {
+                item.set('sort', record.value);
+            });
+            val = item.get('sort');
+            (val!==null) && combo.setValue(val);
+            this.cmbsSort[i] = combo;
+
+            el = cmpEl.find('#sort-dialog-cmb-order-' + i);
+            combo = new Common.UI.ComboBox({
+                el          : el,
+                editable    : false,
+                cls         : 'input-group-nr',
+                menuCls     : 'menu-absolute',
+                data        : this.order_data
+            }).on('selected', function(combo, record) {
+                item.set('order', record.value);
+            });
+            val = item.get('order');
+            (val!==null) && combo.setValue(val);
+            this.cmbsOrder[i] = combo;
         },
 
         onOptions: function () {
@@ -262,7 +299,13 @@ define([  'text!spreadsheeteditor/main/app/template/SortDialog.template',
         textOrder: 'Order',
         textUp: 'Move level up',
         textDown: 'Move level down',
-        textOptions: 'Options'
+        textOptions: 'Options',
+        textValues: 'Values',
+        textCellColor: 'Cell color',
+        textFontColor: 'Font color',
+        textCellIcon: 'Cell icon',
+        textAZ: 'A to Z',
+        textZA: 'Z to A'
 
     }, SSE.Views.SortDialog || {}));
 });
\ No newline at end of file