ExtJS Grid with Locking Grid View
Locking Grid View support
by Uzair Ahmed
HTML
<script src="https://cdnjs.cloudflare.com/ajax/libs/extjs/3.4.1-1/adapter/ext/ext-base.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/extjs/3.4.1-1/ext-all.js"></script>
<script src="http://dev.sencha.com/deploy/ext-3.4.0/examples/ux/LockingGridView.js"></script>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/extjs/3.4.1-1/resources/css/ext-all.css">
<script src="https://cdn.sencha.com/ext/gpl/3.4.1.1/examples/ux/LockingGridView.js"></script>
<link rel="stylesheet" href="https://cdn.sencha.com/ext/gpl/3.4.1.1/examples/ux/css/LockingGridView.css">
JavaScript
var empData = [{
'emp_no': '1001',
'last_name': 'Doe',
'first_name': 'John',
'age': '23',
'doj': '08/06/2009',
'address': '52nd Cross Street'
}, {
'emp_no': '1002',
'last_name': 'Sparrow',
'first_name': 'Jack',
'age': '26',
'doj': '08/12/2010',
'address': '23rd Street'
}, {
'emp_no': '1003',
'last_name': 'Spacey',
'first_name': 'Kevin',
'age': '27',
'doj': '01/23/2011',
'address': 'Central Park'
}, {
'emp_no': '1004',
'last_name': 'Gates',
'first_name': 'Bill',
'age': '35',
'doj': '10/10/2006',
'address': 'Kings Cross'
}];
var empStore = new Ext.data.JsonStore({
fields: [{
name: 'emp_no'
}, {
name: 'last_name'
}, {
name: 'first_name'
}, {
name: 'age',
type: 'int'
}, {
name: 'doj',
type: 'date',
dateFormat: 'm/d/Y'
}, {
name: 'address'
}],
data: empData
});
function showEmpDetails(val, meta, rec, rIndex, cIndex, store) {
return "<a href='#'>" + val + "</a>";
//or apply any css class of your choice using
//meta.css = ‘awesome-font-style’
//return val;
}
var grid = new Ext.grid.GridPanel({
store: empStore,
colModel: new Ext.ux.grid.LockingColumnModel([{
header: 'Emp No.',
width: 100,
sortable: true,
dataIndex: 'emp_no',
align: 'center',
renderer: showEmpDetails,
locked: true
}, {
header: 'Last Name',
width: 100,
sortable: true,
dataIndex: 'last_name',
locked: true
}, {
header: 'First Name',
width: 100,
sortable: true,
dataIndex: 'first_name'
}, {
header: 'Age',
width: 75,
sortable: true,
dataIndex: 'age'
}, {
header: 'Date of Joining',
width: 100,
sortable: true,
renderer:...