Javascript-форум (https://javascript.ru/forum/)
-   ExtJS (https://javascript.ru/forum/extjs/)
-   -   Вывод с БД в таблицу [EXT JS] (https://javascript.ru/forum/extjs/29268-vyvod-s-bd-v-tablicu-%5Bext-js%5D.html)

RogeR31415 25.06.2012 18:41

Не пойму плохо или хорошо - решилось такой строчкой

style: 'margin-top: 20px; margin-left: 44%',


:yes:

nekto_O 25.06.2012 19:49

grid.center();

RogeR31415 25.06.2012 22:10

nekto_O,
Интересно! Как применить?

RogeR31415 25.06.2012 22:26

Продолжаю работу...

=====
app.js
=====

Ext.onReady(function() {
	

	
var gc = [
    { dataIndex: 'id', header: 'ID' },
    { dataIndex: 'first_name', header: 'Name' },
    { dataIndex: 'last_name', header: 'Sursame' },
    { dataIndex: 'date', header: 'Date' },
],


    sf = [];
for(var i=0; i<gc.length; i++) {
    sf.push(gc[i].dataIndex);
}


Ext.define('User', {
    extend: 'Ext.data.Model',
    fields: sf
});


var store = Ext.create('Ext.data.JsonStore', {
    model: 'User',
	
	proxy: {
        type: 'ajax',
        url: 'get.php',
        reader: 
		{
        type: 'json'
        }
			}
});



Ext.create('Ext.panel.Panel', {
    //title: '____Show patients by date:____',
    //width: 180,
	style: 'margin-top: 20px; margin-left: 44%',
	renderTo: Ext.getBody(),
    border: false,
    items: [{
    	
        xtype: 'datepicker',
        maxDate: new Date(),
        handler: function(picker, date) {
            // do something with the selected date
        }
    }]
});
store.load();


Ext.create('Ext.grid.Panel', {
	width: 310,	
	style: 'margin-top: 20px; margin-left: 40%',
	layout: {
        type:'hbox',
        pack:'center'     
    },

	 columns:
		   	[
	          { dataIndex: 'id', header: 'ID', hidden: true },
	          { dataIndex: 'first_name', header: 'Name' },
	          { dataIndex: 'last_name', header: 'Surname' },
	      		
	               	      
	          {
	        	//header: 'layout',
	    	    xtype:'actioncolumn', 
	    	    width:20,
	    	      
	    	    items: [ 
	    	        {
	    	          icon: 'extjs/resources/themes/images/default/shared/right-btn.gif', 
	    	          handler: function showWindow(){
	    	            if(!win){
	    	                var win = new Ext.Window({
	    	                        width:500,
	    	                        height:300,
	    	                        title: 'TEST',
	    	                        html:'<h1>My first lightBOX </h2>',
	    	                        layout:'fit',
	    	                        bodyStyle:{'background-color': '#FFFFFF'},
	    	                        modal: true
	    	                })      
	    	        }
	    	        win.show();
	    	        }
	    	      }]
	    	  },
	    	  
	    	  
	    	  {
		        	//header: 'layout',
		    	    xtype:'actioncolumn',
		    	    width:20,
		    	      
		    	    items: [ 
		    	        {
		    	          icon: 'extjs/resources/themes/images/default/shared/right-btn.gif', 
		    	          handler: function showWindow(){
		    	            if(!win){
		    	                var win = new Ext.Window({
		    	                        width:500,
		    	                        height:300,
		    	                        title: 'TEST',
		    	                        html:'<h1>My first lightBOX </h2>',
		    	                        layout:'fit',
		    	                        bodyStyle:{'background-color': '#FFFFFF'},
		    	                        modal: true
		    	                })      
		    	        }
		    	        win.show();
		    	        }
		    	      }]
		    	  },
		    	  
		    	  
		    	  { dataIndex: 'date', header: 'Date' }	    	  
	    	  	  
	            
	           
	      ],
    renderTo: Ext.getBody(),
    store: store
});




});





ХОЧУ ОСУЩЕСТВИТЬ: Чтобы пока не выбрана дата ничего не выводилось, а при нажатии на определенною дату - производилась выборка с базы данных по date...

Работаю в этом направление... Кто может что подсказать, чему поучить, показать - милости прошу!
За ранее благодарен!

RogeR31415 25.06.2012 22:37

Пока вот что есть..
 

RogeR31415 26.06.2012 12:02

С чего начать... вот здесь

items: [{
    	xtype: 'datepicker',
        maxDate: new Date(),
        
        handler: function(picker, date) {
            // do something with the selected date
        }
    }]





... надо написать чтоб при выборе даты производился вывод из бд данных с этой датой, да?!




*****
app.js *
*****

Ext.onReady(function() {

	
	
var store = Ext.create('Ext.data.JsonStore', {
    	
	proxy: {
        type: 'ajax',
        url: 'get.php',
        reader: 
		{
        type: 'json'
        }	
	},			
		
	fields:['id','first_name','last_name','date']		       
});



Ext.create('Ext.panel.Panel', {
    //title: '____Show patients by date:____',
    //width: 180,
	style: 'margin-top: 20px; margin-left: 44%',
	renderTo: Ext.getBody(),
    border: false,
    items: [{
    	xtype: 'datepicker',
        maxDate: new Date(),
        
        handler: function(picker, date) {
            // do something with the selected date
        }
    }]
});
store.load();



Ext.create('Ext.grid.Panel', {
	width: 310,	
	style: 'margin-top: 20px; margin-left: 40%',
	layout: {
        type:'hbox',
        pack:'center'},    
	columns:
		   	[
	          { dataIndex: 'id', header: 'ID', hidden: true },
	          { dataIndex: 'first_name', header: 'Name' },
	          { dataIndex: 'last_name', header: 'Surname' },	      			               	      
	          {
	        	//header: 'layout',
	    	    xtype:'actioncolumn', 
	    	    width:20,
	    	      
	    	    items: [ 
	    	        {icon: 'extjs/resources/themes/images/default/shared/right-btn.gif', 
	    	          	
	    	          handler: function showWindow(){
	    	            if(!win){
	    	                var win = new Ext.Window({
	    	                        width:500,
	    	                        height:300,
	    	                        title: 'TEST',
	    	                        html:'<h1>My first lightBOX </h2>',
	    	                        layout:'fit',
	    	                        bodyStyle:{'background-color': '#FFFFFF'},
	    	                        modal: true
	    	                })    
	    	        }
	    	        win.show();
	    	        }
	    	      }]
	    	  },	    	    	  
	    	  { dataIndex: 'date', header: 'Date' }	     	    	  	  
	                       
	      ],
    renderTo: Ext.getBody(),
    store: store
});



});

RogeR31415 26.06.2012 15:48

Вот я получаю выбранную дату

var date = Ext.Date.format(date, 'Y-m-d');


в формате гггг-мм-дд...

Теперь как дальше? Передать в php скрипт который выполнит sql запрос?

RogeR31415 26.06.2012 19:22

Получил дату на которую кликнул

handler: function(picker, date) {
        	var date = Ext.Date.format(date, 'Y-m-d');    
        	Ext.Ajax.request({
        		url: 'dget.php',    
        		//jsonData: { date: date }
        		params: { date: date }
        	});
        }



Пишу в dget.php echo $_POST['date'] - ее не видно... Что не так?

nekto_O 26.06.2012 20:44

Цитата:

Сообщение от RogeR31415
ее не видно...

не видно где? и что вы хотите сделать?

RogeR31415 26.06.2012 21:29

nekto_O,
Спасибо за ответ.
А не видно в php-скрипте в котором я хочу по этой дате, которую выбрал кликом на календарике, сделать выборку и вывести обратно в мой грид.

После
Ext.Ajax.request({
                url: \'dget.php\',   
               jsonData: { date: date }

и firebug показывает что отправляет date: "2012-06-12" к примеру...
Я упорно ищу эту date в dget.php...


Часовой пояс GMT +3, время: 16:28.