How to filter the ExtJS Grid data based on the input value ie value entered in textfield.
Step 1:
Write a keylistener function for the textfield which get trigged on keypress event.
.........
..........
xtype: 'textfield',
fieldLabel: 'School Name',
name: 'schoolName',
id: 'schoolNameTxt',
enableKeyEvents: true,
listeners: {
keyup: function (obj, e) {
var searchValue= obj.getValue(); //value entered by the user
Ext.getCmp('schoolListGrid').getStore().clearFilter();
// here 'schoolListGrid' is the id of the grid which data need to get
filtered.
//filter( field, value, [anyMatch], [caseSensitive], [exactMatch] )
Ext.getCmp('schoolListGrid').getStore().filter("schoolName",
searchValue,true,false,false);
// "schoolName" is name of the field in grid , to filter the grid data
},
blur: function(obj) {
obj.setValue(""); // to reset the text field on lost focus
}
}
Sample Working Code Example :
Grid to be filtered:
var grid = new Ext.grid.GridPanel( {
store : data,
id:'schoolListGrid',
defaults: {
width: 100,
sortable: true
},
columns : [{
id : 'schoolName',
header : 'School Name',
width : 200,
hidden:false,
sortable : true,
dataIndex : 'schoolName',
renderer: function(value, metaData, record) {
var schoolID = parseInt(record.data.schoolID);
var schoolName = record.data.schoolName;
}
}, {
id : 'schoolID',
header : 'School ID',
width : 100,
hidden:false,
sortable : true,
dataIndex : 'schoolID',
renderer: function(value, metaData, record) {
var schoolID = parseInt(record.data.schoolID);
var schoolName = record.data.schoolName;
var returnText =value;
// var shFunc = "javascript:showSchoolDetails("+schoolID + ",'" +schoolName +"')";
// returnText = '<a class="anchor_u_style" href="' + shFunc +'" >' + value + '</a>';
return returnText;
}
},{
id : 'schoolType',
header : 'Type',
width : 100,
sortable : true,
dataIndex : 'schoolType'
}, {
id : 'state',
header : 'State/Province',
width : 150,
sortable : true,
dataIndex : 'state'
},........
stripeRows : true,
frame:false,
autoExpandColumn : 'schoolName',
height : 400,
width:1100,
columnLines: true,
sm:sm,
iconCls:'icon-grid',
enableColumnHide: false,
// config options for stateful behavior
stateful : false,
stateId : 'grid'
});
Function to populate the search criteria panel
**
* populate the search panel for searching the schools based on school name
*/
function populateFilterData() {
//Ext.get('fliter-form-panel').dom.innerHTML ="";
var search_Panel = new Ext.FormPanel({
id: 'fliter-form-panel',
title:'Search Criteria',
labelWidth: 100, // label settings here cascade unless overridden
labelSeparator: '',
frame: true,
border:true,
width:1100,
labelAlign: 'left',
labelStyle: 'font-weight:bold;',
renderTo:'filter_form_Panel',
items: [{
layout: 'column',
items: [
{
columnWidth: .25,
layout: 'form',
items:[{
xtype: 'textfield',
fieldLabel: 'School Name',
name: 'schoolName',
id: 'schoolNameTxt',
enableKeyEvents: true,
listeners: {
keyup: function (obj, e) {
var searchValue= obj.getValue();
Ext.getCmp('schoolListGrid').getStore().clearFilter();
//filter( field, value, [anyMatch], [caseSensitive], [exactMatch] )
Ext.getCmp('schoolListGrid').getStore().filter("schoolName", searchValue,true,false,false);
},
blur: function(obj) {
obj.setValue("");
}
}
}]
},
{
columnWidth: .25,
layout: 'form',
items:[{
xtype: 'textfield',
fieldLabel: 'School ID',
name: 'schoolID',
id: 'schoolIDTxt',
enableKeyEvents: true,
listeners: {
keyup: function (obj, e) {
var searchValue= obj.getValue();
Ext.getCmp('schoolListGrid').getStore().clearFilter();
//filter( field, value, [anyMatch], [caseSensitive], [exactMatch] )
Ext.getCmp('schoolListGrid').getStore().filter("schoolID",
searchValue,true,false,false);
},
blur: function(obj) {
obj.setValue("");
}
}
}]
},
{
columnWidth: .25,
layout: 'form',
items:[{
xtype: 'textfield',
fieldLabel: 'School Type',
name: 'schoolType',
id: 'schoolTypeTxt',
enableKeyEvents: true,
listeners: {
keyup:
function (obj, e)
{
var searchValue= obj.getValue();
Ext.getCmp('schoolListGrid').getStore().clearFilter();
//filter( field, value, [anyMatch], [caseSensitive], [exactMatch] )
Ext.getCmp('schoolListGrid').getStore().filter("schoolType",
searchValue,true,false,false);
},
blur: function(obj) {
obj.setValue("");
}
}
}]
},
{
columnWidth: .25,
layout: 'form',
items:[{
xtype: 'textfield',
fieldLabel: 'State/Province',
name: 'state',
id: 'schoolStateTxt',
enableKeyEvents: true,
listeners: {
keyup:
function (obj, e)
{
var searchValue= obj.getValue();
Ext.getCmp('schoolListGrid').getStore().clearFilter();
//filter( field, value, [anyMatch], [caseSensitive], [exactMatch] )
Ext.getCmp('schoolListGrid').getStore().filter("state",
searchValue,true,false,false);
},
blur: function(obj) {
obj.setValue("");
}
}
}]
}
]
}
]
});
}
Step 2 :
Step 1:
Write a keylistener function for the textfield which get trigged on keypress event.
.........
..........
xtype: 'textfield',
fieldLabel: 'School Name',
name: 'schoolName',
id: 'schoolNameTxt',
enableKeyEvents: true,
listeners: {
keyup: function (obj, e) {
var searchValue= obj.getValue(); //value entered by the user
Ext.getCmp('schoolListGrid').getStore().clearFilter();
// here 'schoolListGrid' is the id of the grid which data need to get
filtered.
//filter( field, value, [anyMatch], [caseSensitive], [exactMatch] )
Ext.getCmp('schoolListGrid').getStore().filter("schoolName",
searchValue,true,false,false);
// "schoolName" is name of the field in grid , to filter the grid data
},
blur: function(obj) {
obj.setValue(""); // to reset the text field on lost focus
}
}
Sample Working Code Example :
Grid to be filtered:
var grid = new Ext.grid.GridPanel( {
store : data,
id:'schoolListGrid',
defaults: {
width: 100,
sortable: true
},
columns : [{
id : 'schoolName',
header : 'School Name',
width : 200,
hidden:false,
sortable : true,
dataIndex : 'schoolName',
renderer: function(value, metaData, record) {
var schoolID = parseInt(record.data.schoolID);
var schoolName = record.data.schoolName;
}
}, {
id : 'schoolID',
header : 'School ID',
width : 100,
hidden:false,
sortable : true,
dataIndex : 'schoolID',
renderer: function(value, metaData, record) {
var schoolID = parseInt(record.data.schoolID);
var schoolName = record.data.schoolName;
var returnText =value;
// var shFunc = "javascript:showSchoolDetails("+schoolID + ",'" +schoolName +"')";
// returnText = '<a class="anchor_u_style" href="' + shFunc +'" >' + value + '</a>';
return returnText;
}
},{
id : 'schoolType',
header : 'Type',
width : 100,
sortable : true,
dataIndex : 'schoolType'
}, {
id : 'state',
header : 'State/Province',
width : 150,
sortable : true,
dataIndex : 'state'
},........
stripeRows : true,
frame:false,
autoExpandColumn : 'schoolName',
height : 400,
width:1100,
columnLines: true,
sm:sm,
iconCls:'icon-grid',
enableColumnHide: false,
// config options for stateful behavior
stateful : false,
stateId : 'grid'
});
Function to populate the search criteria panel
**
* populate the search panel for searching the schools based on school name
*/
function populateFilterData() {
//Ext.get('fliter-form-panel').dom.innerHTML ="";
var search_Panel = new Ext.FormPanel({
id: 'fliter-form-panel',
title:'Search Criteria',
labelWidth: 100, // label settings here cascade unless overridden
labelSeparator: '',
frame: true,
border:true,
width:1100,
labelAlign: 'left',
labelStyle: 'font-weight:bold;',
renderTo:'filter_form_Panel',
items: [{
layout: 'column',
items: [
{
columnWidth: .25,
layout: 'form',
items:[{
xtype: 'textfield',
fieldLabel: 'School Name',
name: 'schoolName',
id: 'schoolNameTxt',
enableKeyEvents: true,
listeners: {
keyup: function (obj, e) {
var searchValue= obj.getValue();
Ext.getCmp('schoolListGrid').getStore().clearFilter();
//filter( field, value, [anyMatch], [caseSensitive], [exactMatch] )
Ext.getCmp('schoolListGrid').getStore().filter("schoolName", searchValue,true,false,false);
},
blur: function(obj) {
obj.setValue("");
}
}
}]
},
{
columnWidth: .25,
layout: 'form',
items:[{
xtype: 'textfield',
fieldLabel: 'School ID',
name: 'schoolID',
id: 'schoolIDTxt',
enableKeyEvents: true,
listeners: {
keyup: function (obj, e) {
var searchValue= obj.getValue();
Ext.getCmp('schoolListGrid').getStore().clearFilter();
//filter( field, value, [anyMatch], [caseSensitive], [exactMatch] )
Ext.getCmp('schoolListGrid').getStore().filter("schoolID",
searchValue,true,false,false);
},
blur: function(obj) {
obj.setValue("");
}
}
}]
},
{
columnWidth: .25,
layout: 'form',
items:[{
xtype: 'textfield',
fieldLabel: 'School Type',
name: 'schoolType',
id: 'schoolTypeTxt',
enableKeyEvents: true,
listeners: {
keyup:
function (obj, e)
{
var searchValue= obj.getValue();
Ext.getCmp('schoolListGrid').getStore().clearFilter();
//filter( field, value, [anyMatch], [caseSensitive], [exactMatch] )
Ext.getCmp('schoolListGrid').getStore().filter("schoolType",
searchValue,true,false,false);
},
blur: function(obj) {
obj.setValue("");
}
}
}]
},
{
columnWidth: .25,
layout: 'form',
items:[{
xtype: 'textfield',
fieldLabel: 'State/Province',
name: 'state',
id: 'schoolStateTxt',
enableKeyEvents: true,
listeners: {
keyup:
function (obj, e)
{
var searchValue= obj.getValue();
Ext.getCmp('schoolListGrid').getStore().clearFilter();
//filter( field, value, [anyMatch], [caseSensitive], [exactMatch] )
Ext.getCmp('schoolListGrid').getStore().filter("state",
searchValue,true,false,false);
},
blur: function(obj) {
obj.setValue("");
}
}
}]
}
]
}
]
});
}
Step 2 :
The Evolution of Casino Game Strategies: 5 Types - Filmfile
ReplyDeleteEvolution Gaming's slot 먹튀 검증 사이트 machine 안전한 놀이터 games are very well developed, and 먹튀검증소 there are many varieties. Some of these 토토사이트 관리 알바 샤오미 are slot games 토토사이트 광고 샤오미 that can be played by