2012-02-25 2 views
0

내 콤보 상자를 클릭하면 새 행이 발생하지만 "Uncaught TypeError : 속성을 읽을 수 없습니다 'xtype'undefined"오류가 발생할 때마다 콤보 box.please 표시 안 함 당신이 가게에서 데이터 유형을 정의 할 필요가 - -이 problem.it가 extjs라는 3에서 잘 작동하지만 난 현재 내가 다른 질문에 내 마지막 코멘트에 언급 한 바와 같이 extjs라는 4콤보 상자에서 Extjs 4

var cond1 = Ext.create('Ext.data.Store', { 
                fields: ['maint_condition1'], 
                data : [ 
                  ['Excellent'],['Poor'],['New'],['good'],['scrap']  
                  ] 
               } 
          ); 
    var cond2 = Ext.create('Ext.data.Store', { 
                fields: ['maint_condition2'], 
                data : [ 
                  ['Excellent'],['Poor'],['New'] 
                  ] 
               } 
          ); 


    var cond3 = Ext.create('Ext.data.Store', { 
                fields: ['maint_condition3'], 
                data : [ 
                  ['New'],['Excellent'] 
                  ] 
               } 
          ); 

    var cond4 = Ext.create('Ext.data.Store', { 
                fields: ['maint_condition4'], 
                data : [ 
                  ['New'],['Excellent'],['good'],['Poor'],['scrap'] 
                  ] 
               } 
          ); 

//ready store 
    //var cb_select2 =new Ext.grid.CheckboxSelectionModel(); 
    //var cb_select2 =new Ext.grid.CheckboxSelectionModel(); 
    var asset_edit = new Ext.form.TextField(); 
    var notes_edit = new Ext.form.TextField(); 
    var date_edit = new Ext.form.DateField({format: 'm/d/Y'}); 
    var rowEditing = Ext.create('Ext.grid.plugin.RowEditing', { 
    clicksToMoveEditor: 1, 
    autoCancel: false, 
    saveText: 'Save', 
    listeners: { 
       afteredit: syncStore 
       } 
    }); 
    var cond1_edit = new Ext.form.DateField({format: 'combo'}); 
    //var sm = Ext.grid.getSelectionModel(); 
//Grid for show data 


    var grid = Ext.create('Ext.grid.Panel', { 
    renderTo: document.body, 
    //renderTo: 'grid1', 
    extend: 'Ext.form.ComboBox', 
    plugins:[rowEditing], 
    frame: true, 
    height:140, 
    width:950, 
    enableColumnMove: false, 
    store: store, 
    columns: [ 
       {header: "Asset ID", dataIndex: 'asset_id',readOnly: true}, 
       {header: "Maint. ID", dataIndex: 'id',readOnly: true}, 
       {header: "Date", dataIndex: 'date_',xtype: 'datecolumn',width: 90, 
            editor: { 
               xtype: 'datefield', 
              allowBlank: false, 
               format: 'm/d/Y', 
              minValue: '01/01/2006', 
               minText: 'Cannot have a start date before the company existed!', 
              maxValue: Ext.Date.format(new Date(), 'm/d/Y') 
              } 

       }, 
       {header: "Notes", dataIndex: 'notes',editor: notes_edit}, 
       {header: "Maint_condition1", dataIndex: 'maint_condition1', sortable: true,width: 120, 
          editor: Ext.create('Ext.form.ComboBox', { 
                 xtype:'combobox', 
                 allowBlank: false, 
                 mode: 'local', 
                 store: cond1, 
                 valueField: 'maint_condition1', 
                 displayField: 'maint_condition1', 
                 triggerAction: 'all', 
                 editable: false 
                 } 
                 )}, 
       {header: "Maint_condition2", dataIndex: 'maint_condition2', sortable: true,width: 120, 
          editor: Ext.create('Ext.form.ComboBox', { 
                   xtype:'combobox', 
                 allowBlank: false, 
                 mode: 'local', 
                 store: cond2, 
                 valueField: 'maint_condition2', 
                 displayField: 'maint_condition2', 
                 triggerAction: 'all', 
                 editable: false 
                 } 
                 )}, 
       {header: "Maint_condition3", dataIndex: 'maint_condition3', sortable: true,width: 120, 
         editor: Ext.create('Ext.form.ComboBox', { 
                  xtype:'combobox', 
                 allowBlank: false, 
                 mode: 'local', 
                 store: cond3, 
                 valueField: 'maint_condition3', 
                 displayField: 'maint_condition3', 
                 triggerAction: 'all', 
                 editable: false 
                 } 
                )}, 
       {header: "Maint_condition4", dataIndex: 'maint_condition4', sortable: true,width: 120, 
         editor: Ext.create('Ext.form.ComboBox', { 
                   xtype:'combobox', 
                 allowBlank: false, 
                 mode: 'local', 
                 store: cond4, 
                 valueField: 'maint_condition4', 
                 displayField: 'maint_condition4', 
                 triggerAction: 'all', 
                 editable: false 
                 } 
                )} 
       ], 

      tbar: [ 
      { 
      text: 'Add Record', 
      icon: 'http://localhost/toolbar2/app/webroot/images/table_add.png', 
       cls: 'x-btn-text-icon', 
      handler: function() 
       { 
       rowEditing.cancelEdit(); 
       var r = Ext.create('User', { 
           id: 0, 
          notes: 'New Notes', 
         asset_id: window.id,   
       }); 
        store.insert(0, r); 
        rowEditing.startEdit(0,0); 
        } 
      }, 
      { 
       text: 'Remove Record', 
       icon: 'http://localhost/toolbar2/app/webroot/images/table_delete.png', 
       cls: 'x-btn-text-icon', 
      handler: function() { 
       var sm = grid.getSelectionModel(); 
       rowEditing.cancelEdit(); 
       store.remove(sm.getSelection()); 
       if (store.getCount() > 0) 
       { 
       sm.select(0); 
       } 

      } 
     }] 

    }); 

답변

0

일하고 저를 해결하는 데 도움이 일명 xtype. 코드를 암시 적으로 정의하지 않는 한 코드는 항목이 문자열임을 알 수 없습니다.

+0

다른 하나 - 콤보 박스 생성 중에 'xtype'이 필요하지 않습니다. 이미 특정 유형의 Ext.create를 사용하고 있습니다. – sha

+0

답장을 보내 주셔서 감사합니다 ...이 xtype 오류 및 콤보 상자도 제대로 작동하고 있습니다. 이제 jeson 디코딩 및 인코딩 문제가 발생합니다.이 문제를 해결하려고합니다. 감사합니다. –