cmb.on('select',function(combo,record,index){
grid.getStore().load({params: {filter: record.get('value')}});
})
function ListarCombo1()
{
$query = "SELECT * FROM t_especialidad";
$result = mysql_query($query);
while($rec = mysql_fetch_array($result)){
$arr[] = $rec;
}
$jsonresult = JEncode($arr);
echo '({"total":"'.$nbrows.'","results":'.$jsonresult.'})';
}
function ListarGrid()
{
$query = "SELECT * FROM t_consulta";
$result = mysql_query($query);
while($rec = mysql_fetch_array($result)){
$arr[] = $rec;
}
$jsonresult = JEncode($arr);
echo '({"total":"'.$nbrows.'","results":'.$jsonresult.'})';
}
var ColumnModel;
var EditorGrid;
var DatastoreCombo1;
var DatastoreLista;
var programa;
Ext.onReady(function(){
Ext.QuickTips.init();
//data del combo
DatastoreCombo1 = new Ext.data.Store({
id: 'DatastoreCombo1',
proxy: new Ext.data.HttpProxy({
url: 'michito.php',
method: 'POST'
}),
baseParams:{envio: "ListarCombo1"},
reader: new Ext.data.JsonReader({
root: 'results'
},[
{name: 'idespecialidad', type: 'int', mapping: 'idespecialidad'},
])
});
//Combo dentro de un listiner que carga datos del store
listeners: {
combo1 = new Ext.form.ComboBox({
id: 'Combo1',
fieldLabel:'Programa',
name:'Combo1',
//forceSelection: true,
store: DatastoreCombo1,
emptyText:'Seleccione',
triggerAction: 'all',
editable:false,
displayField:'idespecialidad',
valueField: 'idespecialidad'
});
}
//datos del grid que esta relacionado con idespecialidad
DatastoreLista = new Ext.data.Store({
id: 'DatastoreLista',
proxy: new Ext.data.HttpProxy({
url: 'michito.php',
method: 'POST'
}),
baseParams:{envio: "ListarGrid"},
reader: new Ext.data.JsonReader({
root: 'results'
},[
{name: 'username', type: 'string', mapping: 'username'},
{name: 'idespecialidad', type: 'int', mapping: 'idespecialidad'},
])
});
//columnas
ColumnModel = new Ext.grid.ColumnModel(
[{
header: 'Nombre',
dataIndex: 'username',
width: 300
},{
header: 'Nombre',
dataIndex: 'idespecialidad',
width: 300
}]
);
//el grid
ColumnModel.defaultSortable= true;
EditorGrid = new Ext.grid.EditorGridPanel({
id: 'EditorGrid',
store: DatastoreLista,// DatastoreLista,
cm: ColumnModel,
autoScroll:true,
enableColLock:false,
clicksToEdit:1,
width:682,
height:238,
selModel: new Ext.grid.RowSelectionModel({singleSelect:false})
});
//La funcion para seleccionar un item del combo y te liste los datos filtrados
DatastoreCombo1.on('select',function(DatastoreCombo1,record,index){
EditorGrid.getStore().load({params: {filter: record.get('idespecialidad')}});
DatastoreLista.load();
});
programa=new Ext.Window({
title: 'IIMP PROGRAMA',
bodyStyle:'padding: 8px',
width:854,
height:374,
items: [combo1,EditorGrid],
layout:'form'
});
//DatastoreLista.load();
programa.show();
});
combo1 = new Ext.form.ComboBox({
id: 'Combo1',
fieldLabel:'Programa',
name: 'Combo1',
forceSelection: true,
store: DatastoreCombo1,
emptyText:'Seleccione',
triggerAction: 'all',
displayField:'idespecialidad',
valueField: 'idespecialidad',
editable:false,
mode:'local',
listeners: {
DatastoreCombo1.on('select',function(DatastoreCombo1,record,index){
EditorGrid.getStore().load({params: {filter: record.get('idespecialidad')}});
DatastoreLista.load();
});
}
});
listeners: {
combo1 = new Ext.form.ComboBox({
id: 'Combo1',
fieldLabel:'Programa',
name:'Combo1',
//forceSelection: true,
store: DatastoreCombo1,
emptyText:'Seleccione',
triggerAction: 'all',
editable:false,
displayField:'idespecialidad',
valueField: 'idespecialidad'
});
var combo1 = new Ext.form.ComboBox({
id: 'Combo1',
fieldLabel:'Programa',
name:'Combo1',
//forceSelection: true,
store: DatastoreCombo1,
emptyText:'Seleccione',
triggerAction: 'all',
editable:false,
displayField:'idespecialidad',
valueField: 'idespecialidad'
});listeners: {
select:function(combo,record,index){
grid.getStore().load({params: {filter: record.get('value')}});
}
combo1 = new Ext.form.ComboBox({
id: 'Combo1',
fieldLabel:'Programa',
name: 'Combo1',
forceSelection: true,
store: DatastoreCombo1,
emptyText:'Seleccione',
triggerAction: 'all',
displayField:'idespecialidad',
valueField: 'idespecialidad',
editable:false,
mode:'local',
listeners: {
DatastoreCombo1.on('select',function(DatastoreCombo1,record,index)//<-- es listener es al comobobox no al Store{ EditorGrid.getStore().load({params: {filter: record.get('idespecialidad')}});
DatastoreLista.load();
});combobox.on('select',function(DatastoreCombo1,record,index){//aca el código}); //<-- esto si agregas el listener después de declarar el combo//de esta manera si quieres hacerlo dentro de la declaración del combo
listener:
{
select: function(DatastoreCombo1,record,index){
//acá el código
}
}
EditorGrid.getStore().load({params: {filter: record.get('idespecialidad')}}); function ListarGrid() paraque quede de la siguiente manera:function ListarGrid()
{
$filter="1=1"; //<-- inicio el valor de la variable filtro con una comparación que siempre será positiva
if(isset($_REQUEST['filter'])){ //<-- si he enviado la variable filter
$filter=" idespecialidad = ".$_REQUEST['filter']; //<-- le digo que solo traiga los que tengan un idespecialidad igual al que viene en la variable 'filter'
}
//$idespecialidad=$_POST['idespecialidad'];
$query = "SELECT * FROM t_consulta where ".$filter; //<--agrego a la consulta el where y concateno la variable filter
$result = mysql_query($query);
while($rec = mysql_fetch_array($result)){
$arr[] = $rec;
}
$jsonresult = JEncode($arr);
echo '({"total":"'.$nbrows.'","results":'.$jsonresult.'})';
}
$filter1="";
$filter2="";
if( isset($_REQUEST['filter1'])){
$filter1=$_REQUEST['filter1'];
}
elseif(isset($_REQUEST['filter2'])){
$filter2=$_REQUEST['filter2'];
}
el query del grid.
$query = " SELECT coalesce( (
SELECT DISTINCT 1
FROM tb_cm_agenda
WHERE id_programa = tp.id_programa
AND id_contacto =".$id_usuario."
AND in_tipo =2
), 0 ) AS in_agenda, tp.id_programa, date_format( tp.dt_fecha, '%d/%m/%Y %h:%i %p' ) dt_fecha, tp.st_titulo, tp.st_cuerpo, tt.st_nombre AS str_grupo, tb.st_nombre AS str_sala
FROM `tb_cm_programa` tp
INNER JOIN tb_tablamaestra tt ON tp.id_grupo = tt.id_tabla
INNER JOIN tb_tablamaestra tb ON tp.id_sala = tb.id_tabla
WHERE tp.in_activo =1
AND date_format( tp.dt_fecha, '%d/%m/%Y' ) = '".$filter1."'
AND tp.id_grupo = ".$filter2."
ORDER BY tp.dt_fecha, tp.id_grupo, tp.id_sala, tp.st_titulo ";
combo1 = new Ext.form.ComboBox({
id: 'combo1',
fieldLabel:'Fecha',
name: 'combo1',
forceSelection: true,
store: DatastoreCombo1,
emptyText:'Seleccione',
triggerAction: 'all',
displayField:'dt_fecha',
valueField: 'dt_fecha',
hiddenName : 'dt_fecha',
editable:false,
listeners:{
select: function(DatastoreCombo1,record,index){
EditorGrid.getStore().load({params: {filter1: record.get('dt_fecha')}});
//Ext.Msg.alert("ID: "+ record.get('dt_fecha'));
//DatastoreLista.load();
}}
});
combo2 = new Ext.form.ComboBox({
id: 'combo2',
fieldLabel:'Grupos',
name: 'combo2',
forceSelection: true,
store: DatastoreCombo2,
emptyText:'Seleccione',
triggerAction: 'all',
displayField:'st_nombre',
valueField: 'id_grupo',
hiddenName : 'id_grupo',
editable:false,
listeners:{
select: function(DatastoreCombo2,record,index){
EditorGrid.getStore().load({params: {filter2: record.get('id_grupo')}});
// Ext.Msg.alert("ID: "+ record.get('id_grupo'));
//DatastoreLista.load();
}}
});
EditorGrid.getStore().load({params: {filter2: record.get('id_grupo')}}); //<-- acá deberías enviar tambien el valor del filter1
$filter1="1 = 1";$filter1= "date_format( tp.dt_fecha, '%d/%m/%Y' ) ='".$filter1"' "AND $filter
combo1.on('select',function(DatastoreCombo1,record,index){
EditorGrid.getStore().load({params: {filter1: record.get('dt_fecha')}});
EditorGrid.getStore().load({params: {filter2: record.get('id_grupo')}});
});
combo2.on('select',function(DatastoreCombo2,record,index){
EditorGrid.getStore().load({params: {filter1: record.get('dt_fecha')}});
EditorGrid.getStore().load({params: {filter2: record.get('id_grupo')}});
});
combo1.on('select',function(DatastoreCombo1,record,index){
EditorGrid.getStore().load({
params: {
filter1: record.get('dt_fecha'), //envias los dos filtros
filter2: record.get('id_grupo') //en la MISMA petición
}
});
});
combo1.on('select',function(DatastoreCombo1,record,index){
EditorGrid.getStore().load({
params: {
filter1: record.get('dt_fecha'),
filter2: record.get('id_grupo')
}
});
});
combo2.on('select',function(DatastoreCombo2,record,index){
EditorGrid.getStore().load({
params: {
filter1: record.get('dt_fecha'),
filter2: record.get('id_grupo')
}
});
});
It looks like you're new here. If you want to get involved, click one of these buttons!
The content of this site is copyrighted by Quizzpot.com, it is prohibited to publish our tutorials on other blogs, magazines or any other media without prior permission.
Copyright © 2012 Quizzpot.
Our visitors are mostly developers and Web designers, advertise with us, you only need to contact us .