Jan 09, 2014, 10:58 AM
Header Checkbox Selection/Deselection in GridPanel with filter.
Hi,
I have implement a grid with filter. Here I have tabs and the grid load the value according to tab which is also filter data accordingly. for example,
I have two tabs one for amount $2000 and second for $3000 then grid load data for amount $2000 if tab one is selected (filter value is $2000). when I change the tab filter value is changed to $3000.
Now the problem comes with header checkbox click it select all data rows come under both tabs. it select or deselect rows when I select one tab header check box. Image can help to understand the senerio.
Code for Tab Change:
<TabChange Handler="if(_flag!=0) {var _selView = #{cmbView}.getValue();
var Unformatpremium;
Unformatpremium = UnformatMoney(tab.text);
((_faceAmountHasNoProduct.indexOf(','+Unformatprem ium+',') != -1 && _selView == 1) || ((_faceAmountHasNoSelectedProduct.indexOf(','+Unfo rmatpremium+',') != -1 && _selView != 1)))
item.suspendEvents();
item.setActiveTab(_prevSelFaceAmtTab);
item.resumeEvents();
{hdnActiveTabIndex}.setValue(item.items.findIndex( 'id',item.getActiveTab().id));
var _msg = 'No product is available for '+FormatMoney(tab.title)+' face amount(s).';
Ext.Msg.alert('Message', _msg);
}
else
{
if(_selView == '1')
GetRecordsForSelAmount(#{GridPanelListView},#{Colu mnModel3},Unformatpremium,_selView,false);
else if(_selView=='4')
GetRecordsForSelAmount(#{GridPanelCompareView},#{C olumnModelCV},Unformatpremium,_selView,false);
}}
Header Click Code:
function ListHeaderClick(ct, column, e,t,eopts)
{var colId = column.text;
if(colId=='Product' || colId=='Premium' || colId=='Class') {
var sortField = '';
var sortDir = 'ASC';
var sortState = ct.getRefOwner().getStore().getSorters()[0].direction;
sortField='Carrier';
if (sortState != null && sortState != undefined){
if (sortState == 'ASC') { sortDir = 'DESC'; }
} ct.setSortState(sortField, sortDir);
showLayer();
ct.getRefOwner().getStore().clearFilter();
var amt = UnformatMoney(<%=TabStripListView.ClientID%>.getAc tiveTab().text);
ct.getRefOwner().getStore().filter('Amount',new RegExp('^'+amt+'$'));
setTimeout('hideLayer();',1000);
return false;
}
I have implement a grid with filter. Here I have tabs and the grid load the value according to tab which is also filter data accordingly. for example,
I have two tabs one for amount $2000 and second for $3000 then grid load data for amount $2000 if tab one is selected (filter value is $2000). when I change the tab filter value is changed to $3000.
Now the problem comes with header checkbox click it select all data rows come under both tabs. it select or deselect rows when I select one tab header check box. Image can help to understand the senerio.
Code for Tab Change:
<TabChange Handler="if(_flag!=0) {var _selView = #{cmbView}.getValue();
var Unformatpremium;
Unformatpremium = UnformatMoney(tab.text);
((_faceAmountHasNoProduct.indexOf(','+Unformatprem ium+',') != -1 && _selView == 1) || ((_faceAmountHasNoSelectedProduct.indexOf(','+Unfo rmatpremium+',') != -1 && _selView != 1)))
item.suspendEvents();
item.setActiveTab(_prevSelFaceAmtTab);
item.resumeEvents();
{hdnActiveTabIndex}.setValue(item.items.findIndex( 'id',item.getActiveTab().id));
var _msg = 'No product is available for '+FormatMoney(tab.title)+' face amount(s).';
Ext.Msg.alert('Message', _msg);
}
else
{
if(_selView == '1')
GetRecordsForSelAmount(#{GridPanelListView},#{Colu mnModel3},Unformatpremium,_selView,false);
else if(_selView=='4')
GetRecordsForSelAmount(#{GridPanelCompareView},#{C olumnModelCV},Unformatpremium,_selView,false);
}}
Header Click Code:
function ListHeaderClick(ct, column, e,t,eopts)
{var colId = column.text;
if(colId=='Product' || colId=='Premium' || colId=='Class') {
var sortField = '';
var sortDir = 'ASC';
var sortState = ct.getRefOwner().getStore().getSorters()[0].direction;
sortField='Carrier';
if (sortState != null && sortState != undefined){
if (sortState == 'ASC') { sortDir = 'DESC'; }
} ct.setSortState(sortField, sortDir);
showLayer();
ct.getRefOwner().getStore().clearFilter();
var amt = UnformatMoney(<%=TabStripListView.ClientID%>.getAc tiveTab().text);
ct.getRefOwner().getStore().filter('Amount',new RegExp('^'+amt+'$'));
setTimeout('hideLayer();',1000);
return false;
}