On my grid, I'm having issues getting autoEdit:"false" to work (editor opens on cell focus, not double click). No matter what I try, autoEdit is always on, does anyone have any ideas? I'm not sure if this is a bug or me being dumb. Relevant code below.
Thanks!
Ryan
var dataView;
var grid;
var data = [];
var columns = [
{ id: "manufacturer", name: "Manufacturer", field:"manufacturer", cssClass: "cell-title", tooltip: "Manufacturer", sortable:true, minWidth:125},
{ id: "model", name: "Model", field:"model", sortable:true, minWidth:100},
{ id: "version", name: "Device Version", field: "version", sortable:true, minWidth:100},
{ id: "priority", name:"Priority", field:"priority", sortable:true, select: priOpts, editor: SelectCellEditor, maxWidth:55,formatter:CenterFormatter},
{ id: "status", name:"Status", field:"status", sortable:true,select: statOpts, editor: SelectCellEditor, minWidth:50,maxWidth:100},
{ id: "type", name:"Device Type", field:"type", sortable:true, minWidth:50,maxWidth:100},
{ id: "engnotes", name:"Eng Notes", formatter: NotesFormatter,field:"engnotes", sortable:false, editor: NotesEditor, maxWidth:30,minWidth:20}
];
var options = {
enableCellNavigation: "true",
enableColumnReorder: "false",
editable: "true",
multiColumnSort: "true",
autoEdit: "false",
autoHeight: "true",
forceFitColumns: "true",
rerenderOnResize: "true"
};
function toggleFilterRow() {
grid.setTopPanelVisibility(!grid.getOptions().showTopPanel);
}
function CenterFormatter(row,cell,value,columnDef,dataContext){
return "<center>"+value+"</center>"
}
function NotesFormatter(row, cell, value, columnDef, dataContext) {
if (value == "" || value == "None") {return ""}
return "<center><img src='/static/SlickGrid/images/pencil.gif'></center>"
}
var groupItemMetadataProvider = new Slick.Data.GroupItemMetadataProvider();
dataView = new Slick.Data.DataView({
groupItemMetadataProvider: groupItemMetadataProvider,
inlineFilters: true
});
grid = new Slick.Grid("#myGrid", dataView, columns, options);
grid.onSort.subscribe(function (e, args) {
var cols = args.sortCols;
dataView.sort(function (dataRow1, dataRow2) {
for (var i = 0, l = cols.length; i < l; i++) {
var field = cols[i].sortCol.field;
var sign = cols[i].sortAsc ? 1 : -1;
var value1 = dataRow1[field], value2 = dataRow2[field];
var result = (value1 == value2 ? 0 : (value1 > value2 ? 1 : -1)) * sign;
if (result != 0) {
return result;
}
}
return 0;
});
grid.invalidate();
grid.render();
});
// register the group item metadata provider to add expand/collapse group handlers
grid.registerPlugin(groupItemMetadataProvider);
grid.setSelectionModel(new Slick.CellSelectionModel());
// var columnpicker = new Slick.Controls.ColumnPicker(columns, grid, options);
// wire up model events to drive the grid
dataView.onRowCountChanged.subscribe(function (e, args) {
grid.updateRowCount();
grid.render();
});
dataView.onRowsChanged.subscribe(function (e, args) {
grid.invalidateRows(args.rows);
grid.render();
});
grid.onCellChange.subscribe(function(e,args){
});
var h_runfilters = null;
// initialize the model after all the events have been hooked up
dataView.beginUpdate();
dataView.setItems(data);
dataView.groupBy(null);
dataView.collapseGroup(0);
dataView.endUpdate();
dataView.syncGridSelection(grid, true);
$("#gridContainer").resizable();
$(window).resize(function() {
grid.resizeCanvas();
});