2016-09-14 15 views
0

Я хотел бы создать форму с полями сверху и pdf в середине с extjs 3.4. Отображение pdf-файла без проблем, форма с полями не проблема. Совмещение не работает. Отображение PDF-работ с панелью, форма с полями - это Ext.form.FormPanel. Как вставить PDF в форму? Вот что я пробовал:Показать pdf в форме в extjs 3.4

var pdfForm = new Ext.form.FormPanel({ 
       id: 'pdfForm' 
       ,width: 700 
       ,cloasable: false 
       ,waitMsgTarget: true 
       ,items: [{ 
        region: 'north', 
        autoHeight: true, 
        layout: 'column', 
        border: false, 
        defaults: { 
         bodyStyle: 'padding:10px' 
        }, 
        items: [{ 
         columnWidth: 0.5, 
         layout: 'form', 
         border: false, 
         items: [{ 
          xtype: 'textfield', 
          fieldLabel: 'Z', 
          id: 'Z', 
          name: 'Z', 
          readOnly: true, 
          anchor: '95%' 
         }, { 
          xtype: 'textfield', 
          fieldLabel: 'X', 
          name: 'X', 
          readOnly: true, 
          anchor: '95%' 
         }] 
         }, { 
          columnWidth: 0.5, 
          layout: 'form', 
          border: false, 
          items: [{ 
           xtype: 'textfield', 
           fieldLabel: 'Y', 
           name: 'y', 
           readOnly: true, 
           anchor: '95%' 
          }, { 
           xtype: 'textfield', 
           fieldLabel: 'M', 
           name: 'M', 
           readOnly: true, 
           anchor: '95%' 
          }] 
         }] 
        },{ 
        region: 'center', 
        xtype: 'tabpanel', 
        id: 'tabs', 
        plain: true, 
        activeTab: 4, 
        activeItem: 4, 
        layoutOnTabChange: true, 
        defaults: { 
         bodyStyle: 'padding:0px' 
        }, 
        deferredRender: false, 
        },{ 
        region: 'south', 
        xtype: 'tabpanel',  
        items:[{ 
        xtype: 'box', 
        autoEl: { 
           tag: 'iframe', 
           id: 'samplePDF', 
           name: 'samplePDF', 
           style: 'height: 100%; width: 100%', 
           src: 'http://'+serverIP+'/documents/18/bc1bca0a-d437-4505-aee4-9cbe63553a6d' 
          } 
       }] 

      }] 
      }); 

Решающим код в последних строках. «autoel» не совпадает с Ext.form.FormPanel. Есть ли альтернативы?

ответ

0

Я нашел решение. Основной шаг - использовать Ext.Panel вместо формы.

var formPanel = new Ext.Panel({ 
         frame:true, 
         renderTo: 'formPanel', 
         scrollable: 'true', 
         title:'', 
         id: 'mainPanel', 
         autoHeight: true, 
         autoWidth: true, 
         layout: 'form', 
         items: [{ 
           region: 'north', 
           autoHeight: true, 
           layout: 'column', 
           border: false, 
           defaults: { 
           bodyStyle: 'padding:10px' 
           }, 
           items: [{ 
             columnWidth: 0.5, 
             layout: 'form', 
             border: false, 
             items: [{ 
                xtype: 'textfield', 
                fieldLabel: '1', 
                id: '1', 
                name: '1', 
                readOnly: true, 
                anchor: '95%' 
               }] 
             }, { 
              columnWidth: 0.5, 
              layout: 'form', 
              border: false, 
              items: [{ 
                 xtype: 'textfield', 
                 fieldLabel: '2', 
                 name: '2', 
                 readOnly: true, 
                 anchor: '95%' 
                }] 
              }] 
           },{ 
            region: 'center', 
            xtype: 'tabpanel', 
            id: 'tabs', 
            plain: true, 
            activeTab: 4, 
            activeItem: 4, 
            layoutOnTabChange: true, 
            defaults: { 
            bodyStyle: 'padding:0px' 
            }, 
            deferredRender: false 
            },{ 
            region: 'south', 
            xtype: 'box', 
            autoEl: { 
              tag: 'embed', 
              id: '3', 
              name: '3', 
              style: 'height: 100%; width: 100%', 
              type: 'application/pdf', 
              src: 'http://<ip>/<path>.pdf' 
              } 

           } 

        ] 

      }); 


    var pdfDlg = new Ext.Window({ 
         id: 'pdfDialog', 
         title: 'PDF', 
         layout: 'fit', 
         width: 1000, 
         height: 700, 
         minWidth: 1000, 
         minHeight: 500, 
         closeAction: 'hide', 
         closable: true, 
         resizable: false, 
         plain: true, 
         modal: true, 
         items: 'mainPanel', 
         constrainHeader: true 
         })