PHP Code:
var ds; //hold our data
var grid; //component
var columnModel; // definition of the columns
var layout;
GridCustomer = function(){
function setupDataSource(combo)
{
if(!ds)
{
ds = new Ext.data.Store({
proxy: new Ext.data.HttpProxy({url: 'genxml.php?id='+combo+'&t=gg'}),
reader: new Ext.data.XmlReader({
record: 'Item',
id: 'ID'
}, ['GROUP','GROUPCODE','PERSGROUP','SZIN','PTM'])
});
ds.on('loadexception', function(){alert("load exception")});
ds.load();
}
else
{
ds.reader = new Ext.data.XmlReader({record: 'Item',id: 'ID'},['GROUP','GROUPCODE','PERSGROUP','SZIN','PTM']);
ds.proxy = new Ext.data.HttpProxy({url: 'genxml.php?id='+combo+'&t=gg'});
ds.reload();
}
}
function getColumnModel()
{
columnModel = new Ext.grid.ColumnModel(
[
{header: "Глобальная группа", dataIndex: 'GROUP' ,sortable: true, renderer: function(v,md,record)
{
return "<span style='color:#333333;font-size:14px'>"+ record.data['GROUP'] +"</span>";
}
},
{header: "Группы кодов", dataIndex: 'GROUPCODE',sortable: true, css: 'white-space:normal;' , renderer: function(v,md,record)
{
return "<pre style='color:#333333;font-size:14px'>"+ record.data['GROUPCODE'] +"</pre>";
}
},
{header: "Персональная группа ", dataIndex: 'PERSGROUP',css: 'white-space:normal;' , renderer: function(v,md,record) {
return "<pre style='color:#333333;font-size:14px'>"+ record.data['PERSGROUP'] +"</pre>";}
},
{header: "Список запрещенных исх. номеров", dataIndex: 'SZIN',renderer: function(v,md,record) {
return "<pre style='color:#333333;font-size:14px'>"+ record.data['SZIN'] +"</pre>";}
},
{header: "Персональная таблица маршр.", dataIndex: 'PTM',
renderer: function(v,md,record) {
return "<pre style='color:#333333;font-size:14px'>"+ record.data['PTM'] +"</pre>";}
}
]);
return columnModel;
}
function buildGrid()
{
var rowSelectionModel = new Ext.grid.RowSelectionModel({singleSelect:true});
rowSelectionModel.on('beforerowselect',function(sm ,rowIndex,keepExisting){
return false;
});
grid = new Ext.grid.Grid('example-grid',{ds: ds,
loadMask: {msg: 'Загрузка...'},
trackMouseOver :false,
// autoSizeColumns: true,
// autoSizeHeaders:true,
monitorWindowResize: true,
selModel: rowSelectionModel,
autoScroll :false,
autoSizeColumns: true,
monitorWindowResize: true,
// autoHeight:true,
// autoWidth:true,
defaultSortable:true,
cm: getColumnModel()});
var layout = Ext.BorderLayout.create({
center: {
margins:{left:3,top:3,right:3,bottom:3},
panels: [new Ext.GridPanel(grid)]
}
}, 'grid-panel');
grid.render();
}
return {
init : function(combo) {setupDataSource(combo); buildGrid();},
getDataSource: function() {return ds;},
updateColumnModel :function(){return getColumnModel();},
updateDataSource: function(combo){setupDataSource(combo);}
}
}();
InfoGroup = function(){
function setupDataSource(combo)
{
if(!ds)
{
if(combo == 0)
{
ds = new Ext.data.Store({proxy: new Ext.data.HttpProxy({url: 'genxml.php?id='+combo+'&t=all'}),
reader: new Ext.data.XmlReader({
record: 'Item',
id: 'ID'
},['GROUP','CLIENT'])
});
ds.on('loadexception', function(){alert("load exception")});
ds.load();
}
else{
ds = new Ext.data.Store({proxy: new Ext.data.HttpProxy({url: 'genxml.php?id='+combo+'&t=gr'}),
reader: new Ext.data.XmlReader({
record: 'Item',
id: 'ID'
},['GROUP','CLIENT'])
});
ds.on('loadexception', function(){alert("load exception")});
ds.load();
}
}
else{
if(combo == 0)
{
ds.reader = new Ext.data.XmlReader({record: 'Item',id: 'ID'},['GROUP','CLIENT']);
ds.proxy = new Ext.data.HttpProxy({url: 'genxml.php?id='+combo+'&t=all'});
ds.reload();
}
else{
ds.reader = new Ext.data.XmlReader({record: 'Item',id: 'ID'},['GROUP','CLIENT']);
ds.proxy = new Ext.data.HttpProxy({url: 'genxml.php?id='+combo+'&t=gr'});
ds.reload();
}
}
}
function getColumnModel(combo)
{
//if(!columnModel) {
if(combo == 0)
{
columnModel = new Ext.grid.ColumnModel([
{header: "Маршрутизация Группы", dataIndex: 'GROUP' ,sortable: true, renderer: function(v,md,record)
{return "<pre style='color:#333333;font-size:14px'>"+ record.data['GROUP'] +"</pre>";}},
{header: "Коды состоящие в ней", dataIndex: 'CLIENT' ,sortable: true, css: 'white-space:normal;',renderer: function(v,md,record)
{return "<pre style='color:#333333;font-size:14px'>"+ record.data['CLIENT'] +"</pre>";}}]);
}
else
{
columnModel = new Ext.grid.ColumnModel([
{header: "Маршрутизация Группы", dataIndex: 'GROUP' ,sortable: true, renderer: function(v,md,record)
{return "<pre style='color:#333333;font-size:14px'>"+ record.data['GROUP'] +"</pre>";}},
{header: "Клиенты", dataIndex: 'CLIENT',sortable: true,css: 'white-space:normal;',renderer: function(v,md,record)
{return "<pre style='color:#333333;font-size:14px'>"+ record.data['CLIENT'] +"</pre>";}}]);
//}//end if colum init
}
return columnModel;
}
function buildGrid(combo)
{
var rowSelectionModel = new Ext.grid.RowSelectionModel({singleSelect:true});
rowSelectionModel.on('beforerowselect',function(sm ,rowIndex,keepExisting){
return false;
});
grid = new Ext.grid.Grid('example-grid', {ds: ds,
autoHeight:true,
loadMask: {msg: 'Загрузка...'},
trackMouseOver :false,
autoSizeColumns: true,
monitorWindowResize: true,
selModel: rowSelectionModel,
defaultSortable:true,
cm: getColumnModel(combo)});
var layout = Ext.BorderLayout.create({
center: {
margins:{left:3,top:3,right:3,bottom:3},
panels: [new Ext.GridPanel(grid)]
}
}, 'grid-panel');
grid.render();
}
return {
init : function(combo) {setupDataSource(combo); buildGrid(combo);},
updateColumnModel :function(combo){return getColumnModel(combo);},
getDataSource: function() {return ds;},
updateDataSource: function(combo){setupDataSource(combo);}
}
}();
InfoDirection = function()
{
function setupDataSource(combo)
{
if(!ds)
{
if(combo == 0)
{
ds = new Ext.data.Store({proxy: new Ext.data.HttpProxy({url: 'genxml.php?id='+combo+'&t=dir'}),
reader: new Ext.data.XmlReader({
record: 'Item',
id: 'ID'
}, ['CODE','DIRECTION'])});
ds.on('loadexception', function(){alert("load exception")});
ds.load();
}
else
{
ds = new Ext.data.Store({proxy: new Ext.data.HttpProxy({url: 'genxml.php?id='+combo+'&t=dir'}),
reader: new Ext.data.XmlReader({
record: 'Item',
id: 'ID'
}, ['CODE'])});
ds.on('loadexception', function(){alert("load exception")});
ds.load();
}
}
else{
if(combo == 0)
{
ds.reader = new Ext.data.XmlReader({record: 'Item',id: 'ID'},['CODE','DIRECTION']);
ds.proxy = new Ext.data.HttpProxy({url: 'genxml.php?id='+combo+'&t=dir'});
ds.reload();
}
else{
ds.reader = new Ext.data.XmlReader({record: 'Item',id: 'ID'},['CODE']);
ds.proxy = new Ext.data.HttpProxy({url: 'genxml.php?id='+combo+'&t=dir'});
ds.reload();
}
}
}
function getColumnModel(combo)
{
if(combo == 0)
{
columnModel = new Ext.grid.ColumnModel([
{header: "Коды", dataIndex: 'CODE',sortable: true,renderer: function(v,md,record){
return "<span style='color:#333333;font-size:14px'>"+ record.data['CODE'] +"</span>";}},
{header: "Направление",dataIndex: 'DIRECTION',sortable: true,renderer: function(v,md,record){
return "<span style='color:#333333;font-size:14px'>"+ record.data['DIRECTION'] +"</span>";}}]);
}
else
{
columnModel = new Ext.grid.ColumnModel([
{header: "Коды", dataIndex: 'CODE',sortable: true,renderer: function(v,md,record){
return "<span style='color:#333333;font-size:14px'>"+ record.data['CODE'] +"</span>";}}]);
}
return columnModel;
}
function buildGrid(combo)
{
var rowSelectionModel = new Ext.grid.RowSelectionModel({singleSelect:true});
rowSelectionModel.on('beforerowselect',function(sm ,rowIndex,keepExisting){
return false;
});
grid = new Ext.grid.Grid('example-grid', {ds: ds,
loadMask:true,
trackMouseOver :false,
loadMask: {msg: 'Загрузка...'},
autoHeight:true,
autoSizeColumns: true,
selModel: rowSelectionModel,
defaultSortable:true,
cm: getColumnModel(combo)});
var layout = Ext.BorderLayout.create({
center: {
margins:{left:3,top:3,right:3,bottom:3},
panels: [new Ext.GridPanel(grid)]
}
}, 'grid-panel');
grid.render();
}
return {
init : function(combo) {setupDataSource(combo); buildGrid(combo);},
updateColumnModel :function(combo){return getColumnModel(combo);},
getDataSource: function() {return ds;},
updateDataSource: function(combo){setupDataSource(combo);}
}
}();
this is code reconfigure