0

検索操作を行う必要があります。検索用のテキストフィールドとボタンを追加しました。これは、テキストボックスから取得する検索エントリをextraParamを介して渡すことで行いました。すべてを表示する必要があるグリッドで何も検索しなかった場合。今私の問題は、グリッドが私のjsがこのように見えるデータをロードしないことです

Ext.require([
    'Ext.grid.*',
    'Ext.data.*',
    'Ext.form.*',
    'Ext.util.*',


    ]); 


Ext.define('MyModel', {
    extend: 'Ext.data.Model',
    fields: [{
        name: 'id_job',
        mapping: 'id_job',
        type: 'int'
    }, {
        name: 'job_name',
        mapping: 'job_name',
        type: 'string'
    }, {
        name: 'error_message',
        mapping: 'error_message',
        type: 'string'
    },
    {
        name: 'status',
        mapping: 'status',
        type: 'string'
    },
    {
        name: 'starttime',
        mapping: 'starttime',
        type: 'string'
    },
    {
        name: 'endtime',
        mapping: 'endtime',
        type: 'string'
    },
      {
        name: 'last_updated_time',
        mapping: 'last_updated_time',
        type: 'string'
    },

]
});
Ext.onReady(function(){
    // Ext.QuickTips.init();
    var store = new Ext.data.JsonStore({
        model: MyModel,

        proxy: new Ext.data.HttpProxy({
            url: 'job_audit.php',
            // method: 'GET',
            type: 'ajax',
            extraParams:{
             JobName:'test'
           },
        reader:new Ext.data.JsonReader({ 
            type:'json',
            root:'jobdisplay',
            totalProperty:'Count'

        })
   }) , 
        autoLoad:false,
        idProperty: 'id'
    });
  var formPanel=Ext.create('Ext.form.Panel', {
    title: 'Search',
    width:300,
    bodyPadding: 10,
     submitOnAction: true,
      activeItem: 1,
   //renderTo: Ext.getBody(),
    items: [{
        xtype: 'textfield',
        name: 'JobName',
        id:'JobName',
        fieldLabel: 'JobName',
        allowBlank: false,
         anchor:'95%'// requires a non-empty value
    }, {
        xtype: 'button',
        name: 'search',
        fieldLabel: 'Search',
         text: 'Search',
        width:100,
       listeners:{
           click:function(){
            //var textValue=formPanel.items.get('JobName').getValue();
            var text=Ext.getCmp('JobName').getValue();
               store.proxy.extraParams={JobName : text};

          store.load();
        }
       }
    }]

});
formPanel.render('paging-grid');
    // baseParams:{task: "LISTING"}

    var grid=new Ext.grid.GridPanel({

        store: store,


        columns: [

        {
            header: 'id_job', 
            width: 50, 
            hidden:true,
             filterable:true,
            sortable: true, 
            dataIndex: 'id_job'



        },

        {
            header: 'JobName', 
            width: 150, 
            sortable: true, 
            dataIndex: 'job_name',
             renderer:function(myValue, myDontKnow, myRecord) {
                           var id=myRecord.get('id_job');
                            return '<a href=index.php?show=JobErrors&id=' + id +'>' + myValue + '</a> ';
                        }

        },
          {
            header: 'Start Time', 
            width: 150, 
            sortable: true, 
            dataIndex: 'starttime'
        },
         {
            header: 'End Time', 
            width: 150, 
            sortable: true, 
            dataIndex: 'endtime'
        },
         {
            header: 'tatus', 
            width: 200, 
            sortable: true, 
            dataIndex: 'status'
        },
        {
            header: 'Error_Message', 
            width: 150, 
            sortable: true, 
            dataIndex: 'error_message'
        },
        {
            header: 'Last_Updated_Time', 
            width: 150, 
            sortable: true, 
            dataIndex: 'last_updated_time'
        },



        ],
          autoExpandable:true,
        stripeRows: true,

        height:600,

        width:950,

        title:'JobDetails',

        bbar: new Ext.PagingToolbar({

          pageSize:25,

            store: store,

            displayInfo: true,


            displayMsg: 'Displaying topics {0} - {1} of {2}',

            emptyMsg: "No topics to display"

        })

    });
  store.load();

    grid.render('paging-grid');



});

PHP側でパラメータ値を取得していますが、レコードも取得していますが、それはグリッドにロードされていませんでした.ロードを取得するためにストアを正しくロードしたい場所

4

1 に答える 1

0

問題を解決しました.Jsonはすべての「エコー」を(phpで)エンコードします.テスト目的でいくつかのエコーを指定しました.すべてを削除し、問題は解決しました.

于 2013-01-31T11:02:02.203 に答える