^1640742913765
@
sname
GridGenerator
slabel
GridGenerator
sdescriptors
xworker.web.ControlSet
  @/@SimpleControl
  sname
  SimpleControl
  sdescriptors
  xworker.web.ControlSet/@SimpleControl
  sid
  SimpleControl
    @/@SimpleControl/@view
    sname
    view
    sbelongToHtml
    true
    stitle
    ExtJs Grid Code Generateor
    sstyle
    default
    shasHead
    false
    shasBottom
    false
    sotherHeads
    <meta http-equiv="content-type" content="text/html; charset=utf-8">
    slabel
    view
    sdescriptors
    xworker.web.controls.SimpleControl/@view
    sid
    view
      @/@SimpleControl/@view/@ExtJs
      sname
      ExtJs
      slabel
      ExtJs
      sdescriptors
      xworker.html.Widgets/@ExtJs
      sid
      ExtJs
        @/@SimpleControl/@view/@ExtJs/@Viewport
        sname
        Viewport
        slabel
        Viewport
        sdescriptors
        xworker.extjs.Items/@Viewport
        sid
        Viewport
          @/@SimpleControl/@view/@ExtJs/@Viewport/@items
          sname
          items
          slabel
          items
          sdescriptors
          xworker.extjs.Ext.Container/@24354
          sid
          items
            @/@SimpleControl/@view/@ExtJs/@Viewport/@items/@DataObjectFormPanel
            sdf_dataObject
            xworker.web.app.view.extjs.server.tools.grid.DataObject
            sdf_editorType
            edit
            sdf_appendItems
            true
            sdf_column
            3
            sdf_showLabel
            true
            sdf_labelAlign
            right
            sdf_labelVAlign
            baseline
            sdf_bind
            false
            sdf_bindType
            grid
            LhideLabels
            false
            slabelAlign
            'left'
            LmonitorValid
            false
            sname
            DataObjectFormPanel
            slabel
            DataObjectFormPanel
            sdescriptors
            xworker.web.app.view.extjs.widgets.AppItems/@DataObjectFormPanel
            sid
            DataObjectFormPanel
              @/@SimpleControl/@view/@ExtJs/@Viewport/@items/@DataObjectFormPanel/@buttons
              sname
              buttons
              slabel
              buttons
              sdescriptors
              xworker.extjs.Ext.form.FormPanel/@24823
              sid
              buttons
                @/@SimpleControl/@view/@ExtJs/@Viewport/@items/@DataObjectFormPanel/@buttons/@Button1
                sname
                Button
                slabel
                Button
                sdescriptors
                xworker.extjs.Items/@Button
                sid
                Button1
                  @/@SimpleControl/@view/@ExtJs/@Viewport/@items/@DataObjectFormPanel/@buttons/@Button1/@handler
                  sname
                  handler
                  sdescriptors
                  xworker.extjs.Ext.Button/@24224
                  sid
                  handler
                @/@SimpleControl/@view/@ExtJs/@Viewport/@items/@DataObjectFormPanel/@buttons/@Button
                sname
                Button
                slabel
                Button
                sdescriptors
                xworker.extjs.Items/@Button
                sid
                Button
                  @/@SimpleControl/@view/@ExtJs/@Viewport/@items/@DataObjectFormPanel/@buttons/@Button/@handler
                  sname
                  handler
                  sdescriptors
                  xworker.extjs.Ext.Button/@24224
                  sid
                  handler
            @/@SimpleControl/@view/@ExtJs/@Viewport/@items/@DataObjectGridPanel
            sdataObject
            xworker.web.app.view.extjs.server.tools.grid.Attribute
            LautoEncode
            false
            LforceValidation
            false
            sname
            DataObjectGridPanel
            slabel
            DataObjectGridPanel
            sdescriptors
            xworker.web.app.view.extjs.widgets.AppItems/@DataObjectGridPanel
            sid
            DataObjectGridPanel
              @/@SimpleControl/@view/@ExtJs/@Viewport/@items/@DataObjectGridPanel/@buttons
              sname
              buttons
              slabel
              buttons
              sdescriptors
              xworker.extjs.Ext.Panel/@25325
              sid
              buttons
                @/@SimpleControl/@view/@ExtJs/@Viewport/@items/@DataObjectGridPanel/@buttons/@Button
                sname
                Button
                slabel
                Button
                sdescriptors
                xworker.extjs.Items/@Button
                sid
                Button
                  @/@SimpleControl/@view/@ExtJs/@Viewport/@items/@DataObjectGridPanel/@buttons/@Button/@handler
                  sname
                  handler
                  sdescriptors
                  xworker.extjs.Ext.Button/@24224
                  sid
                  handler
                @/@SimpleControl/@view/@ExtJs/@Viewport/@items/@DataObjectGridPanel/@buttons/@Button1
                sname
                Button
                slabel
                Button
                sdescriptors
                xworker.extjs.Items/@Button
                sid
                Button1
                  @/@SimpleControl/@view/@ExtJs/@Viewport/@items/@DataObjectGridPanel/@buttons/@Button1/@handler
                  sname
                  handler
                  sdescriptors
                  xworker.extjs.Ext.Button/@24224
                  sid
                  handler
                @/@SimpleControl/@view/@ExtJs/@Viewport/@items/@DataObjectGridPanel/@buttons/@Button2
                sname
                Button
                slabel
                Button
                sdescriptors
                xworker.extjs.Items/@Button
                sid
                Button2
                  @/@SimpleControl/@view/@ExtJs/@Viewport/@items/@DataObjectGridPanel/@buttons/@Button2/@handler
                  sname
                  handler
                  sdescriptors
                  xworker.extjs.Ext.Button/@24224
                  sid
                  handler
        @/@SimpleControl/@view/@ExtJs/@Code
        sname
        Code
        sdescriptors
        xworker.extjs.Items/@Code
        sid
        Code
    @/@SimpleControl/@success
    sname
    success
    stype
    form
    scontentType
    text/html;charset=UTF-8
    svalue
    xworker.web.app.view.extjs.server.tools.grid.GridGenerator/@SimpleControl/@view
    slabel
    success
    sdescriptors
    xworker.web.controls.SimpleControl/@result
    sid
    success
  @/@generateGrid
  sname
  generateGrid
  sdescriptors
  xworker.web.ControlSet/@SimpleControl
  sid
  generateGrid
    @/@generateGrid/@actions
    sname
    actions
    slabel
    actions
    sdescriptors
    xworker.web.controls.SimpleControl/@actions
    sid
    actions
      @/@generateGrid/@actions/@doAction
      sname
      doAction
      sisSynchronized
      false
      sthrowException
      true
      suseOtherAction
      false
      suseOuterJava
      true
      souterClassName
      xworker.web.app.view.extjs.server.tools.grid.GridGeneratorGenerateGridCreator
      smethodName
      doAction
      sdisableGlobalContext
      false
      sdescriptors
      xworker.lang.actions.JavaAction
      sid
      doAction
    @/@generateGrid/@view
    sname
    view
    sbelongToHtml
    true
    sstyle
    default
    shasHead
    false
    shasBottom
    false
    sotherHeads
    <meta http-equiv="content-type" content="text/html; charset=utf-8">
    slabel
    view
    sdescriptors
    xworker.web.controls.SimpleControl/@view
    sid
    view
      @/@generateGrid/@view/@ExtJs
      sname
      ExtJs
      slabel
      ExtJs
      sdescriptors
      xworker.html.Widgets/@ExtJs
      sid
      ExtJs
        @/@generateGrid/@view/@ExtJs/@_viewPort_
        sname
        Viewport
        slabel
        Viewport
        sdescriptors
        xworker.extjs.Items/@Viewport
        sid
        _viewPort_
          @/@generateGrid/@view/@ExtJs/@_viewPort_/@items
          sname
          items
          slabel
          items
          sdescriptors
          xworker.extjs.Ext.Container/@24354
          sid
          items
            @/@generateGrid/@view/@ExtJs/@_viewPort_/@items/@_tabPanel
            sname
            TabPanel
            slabel
            TabPanel
            sdescriptors
            xworker.extjs.Items/@TabPanel
            sid
            _tabPanel
              @/@generateGrid/@view/@ExtJs/@_viewPort_/@items/@_tabPanel/@items
              sname
              items
              slabel
              items
              sdescriptors
              xworker.extjs.Ext.Container/@24354
              sid
              items
                @/@generateGrid/@view/@ExtJs/@_viewPort_/@items/@_tabPanel/@items/@DataObjectGridPanel
                sdataObject
                _transient.234./@235
                LautoEncode
                false
                LforceValidation
                false
                sname
                DataObjectGridPanel
                slabel
                DataObjectGridPanel
                sdescriptors
                xworker.web.app.view.extjs.widgets.AppItems/@DataObjectGridPanel
                sid
                DataObjectGridPanel
                  @/@generateGrid/@view/@ExtJs/@_viewPort_/@items/@_tabPanel/@items/@DataObjectGridPanel/@buttons
                  sname
                  buttons
                  slabel
                  buttons
                  sdescriptors
                  xworker.extjs.Ext.Panel/@25325
                  sid
                  buttons
                    @/@generateGrid/@view/@ExtJs/@_viewPort_/@items/@_tabPanel/@items/@DataObjectGridPanel/@buttons/@Button
                    sname
                    Button
                    slabel
                    Button
                    sdescriptors
                    xworker.extjs.Items/@Button
                    sid
                    Button
                      @/@generateGrid/@view/@ExtJs/@_viewPort_/@items/@_tabPanel/@items/@DataObjectGridPanel/@buttons/@Button/@handler
                      sname
                      handler
                      sdescriptors
                      xworker.extjs.Ext.Button/@24224
                      sid
                      handler
                    @/@generateGrid/@view/@ExtJs/@_viewPort_/@items/@_tabPanel/@items/@DataObjectGridPanel/@buttons/@Button1
                    sname
                    Button
                    slabel
                    Button
                    sdescriptors
                    xworker.extjs.Items/@Button
                    sid
                    Button1
                      @/@generateGrid/@view/@ExtJs/@_viewPort_/@items/@_tabPanel/@items/@DataObjectGridPanel/@buttons/@Button1/@handler
                      sname
                      handler
                      sdescriptors
                      xworker.extjs.Ext.Button/@24224
                      sid
                      handler
                    @/@generateGrid/@view/@ExtJs/@_viewPort_/@items/@_tabPanel/@items/@DataObjectGridPanel/@buttons/@Button2
                    sname
                    Button
                    slabel
                    Button
                    sdescriptors
                    xworker.extjs.Items/@Button
                    sid
                    Button2
                      @/@generateGrid/@view/@ExtJs/@_viewPort_/@items/@_tabPanel/@items/@DataObjectGridPanel/@buttons/@Button2/@handler
                      sname
                      handler
                      sdescriptors
                      xworker.extjs.Ext.Button/@24224
                      sid
                      handler
                @/@generateGrid/@view/@ExtJs/@_viewPort_/@items/@_tabPanel/@items/@_formPanel_
                sname
                FormPanel
                slabel
                FormPanel
                sdescriptors
                xworker.extjs.Items/@FormPanel
                sid
                _formPanel_
                  @/@generateGrid/@view/@ExtJs/@_viewPort_/@items/@_tabPanel/@items/@_formPanel_/@autoLoad
                  sname
                  autoLoad
                  slabel
                  autoLoad
                  sdescriptors
                  xworker.extjs.Ext.Panel/@25315
                  sid
                  autoLoad
    @/@generateGrid/@success
    sname
    success
    stype
    form
    scontentType
    text/html;charset=UTF-8
    svalue
    xworker.web.app.view.extjs.server.tools.grid.GridGenerator/@generateGrid/@view
    slabel
    success
    sdescriptors
    xworker.web.controls.SimpleControl/@result
    sid
    success
  @/@grid
  sname
  gridCode
  sdescriptors
  xworker.web.ControlSet/@SimpleControl
  sid
  grid
    @/@grid/@actions
    sname
    actions
    slabel
    actions
    sdescriptors
    xworker.web.controls.SimpleControl/@actions
    sid
    actions
      @/@grid/@actions/@GroovyAction
      sname
      doAction
      sisSynchronized
      false
      sthrowException
      true
      suseOtherAction
      false
      suseOuterJava
      true
      souterClassName
      xworker.web.app.view.extjs.server.tools.grid.GridGeneratorGridCodeCreator
      smethodName
      doAction
      sdisableGlobalContext
      false
      sdescriptors
      xworker.lang.actions.JavaAction
      sid
      GroovyAction
    @/@grid/@view
    sname
    view
    sbelongToHtml
    false
    sstyle
    default
    shasHead
    false
    shasBottom
    false
    sotherHeads
    <meta http-equiv="content-type" content="text/html; charset=utf-8">
    slabel
    view
    sdescriptors
    xworker.web.controls.SimpleControl/@view
    sid
    view
      @/@grid/@view/@code1
      sname
      code
      Scode
#$@text#$@
<pre>
${(code?html)?if_exists}
</pre>
#$@text#$@
      sdescriptors
      xworker.html.base.container.childs/@code
      sid
      code1
    @/@grid/@success
    sname
    success
    stype
    form
    scontentType
    text/plain;charset=UTF-8
    svalue
    xworker.web.app.view.extjs.server.tools.grid.GridGenerator/@grid/@view
    slabel
    success
    sdescriptors
    xworker.web.controls.SimpleControl/@result
    sid
    success
  @/@submit
  sname
  submit
  sdescriptors
  xworker.web.ControlSet/@SimpleControl
  sid
  submit
    @/@submit/@actions
    sname
    actions
    slabel
    actions
    sdescriptors
    xworker.web.controls.SimpleControl/@actions
    sid
    actions
      @/@submit/@actions/@doAction
      sname
      doAction
      sisSynchronized
      false
      sthrowException
      true
      suseOtherAction
      false
      suseOuterJava
      true
      souterClassName
      xworker.web.app.view.extjs.server.tools.grid.GridGeneratorSubmitCreator
      smethodName
      doAction
      sdisableGlobalContext
      false
      sdescriptors
      xworker.lang.actions.JavaAction
      sid
      doAction
  @/@test
  sname
  test
  sdescriptors
  xworker.web.ControlSet/@SimpleControl
  sid
  test
    @/@test/@view
    sname
    view
    sbelongToHtml
    false
    sstyle
    default
    shasHead
    false
    shasBottom
    false
    sotherHeads
    <meta http-equiv="content-type" content="text/html; charset=utf-8">
    slabel
    view
    sdescriptors
    xworker.web.controls.SimpleControl/@view
    sid
    view
      @/@test/@view/@code
      sname
      code
      Scode
#$@text#$@
Ext.onReady(function() {
    Ext.QuickTips.init();

    var grid_checkBox = new Ext.grid.CheckboxSelectionModel({
                });

    var view = new Ext.Viewport({
        layout: 'border',
        id: 'view',
        items: [
            new Ext.form.FormPanel({
                title: 'ExtJs Grid Generator',
                layout: 'fit',
                boxMinWidth: 500,
                height: 195,
                region: 'north',
                id: 'formPanel',
                split: true,
                buttons: [
                    new Ext.Button({
                        text: 'Generate Ext Grid Code',
                        handler: function(){
                            var formPanel = Ext.getCmp('formPanel').getForm();
                            formPanel.submit({
                                clientValidation: false,
                                url: 'do?sc=xworker.web.app.view.extjs.server.tools.grid.GridGenerator:/@submit',
                                success: function(form, action) {
                                   window.open('do?sc=xworker.web.app.view.extjs.server.tools.grid.GridGenerator/@generateGrid');
                                },
                                failure: function(form, action) {
                                    switch (action.failureType) {
                                        case Ext.form.Action.CLIENT_INVALID:
                                            Ext.Msg.alert('Failure', 'Form fields may not be submitted with invalid values');
                                            break;
                                        case Ext.form.Action.CONNECT_FAILURE:
                                            Ext.Msg.alert('Failure', 'Ajax communication failed');
                                            break;
                                        case Ext.form.Action.SERVER_INVALID:
                                           Ext.Msg.alert('Failure', action.result.msg);
                                   }
                                }
                            });
                        }
                    })
                ],
                reader: new Ext.data.JsonReader({
                        idProperty: 'name',
                        root: 'data',
                        messageProperty: 'msg',
                        fields: [
                            {
                                allowBlank: false,
                                defaultValue: 'DataObject',
                                mapping: 'name',
                                name: 'name'
                            },
                            {
                                defaultValue: 'Label',
                                mapping: 'label',
                                name: 'label'
                            },
                            {
                                mapping: 'storeIdProperty',
                                name: 'storeIdProperty'
                            },
                            {
                                defaultValue: true,
                                mapping: 'paging',
                                name: 'paging',
                                type: 'boolean'
                            },
                            {
                                mapping: 'storeAutoLoad',
                                name: 'storeAutoLoad',
                                type: 'boolean'
                            },
                            {
                                mapping: 'storeAutoSave',
                                name: 'storeAutoSave'
                            },
                            {
                                defaultValue: 'true',
                                mapping: 'gridEditable',
                                name: 'gridEditable'
                            },
                            {
                                defaultValue: 'false',
                                mapping: 'gridColumnLocking',
                                name: 'gridColumnLocking'
                            },
                            {
                                mapping: 'gridCheckable',
                                name: 'gridCheckable'
                            },
                            {
                                mapping: 'gridRowNumber',
                                name: 'gridRowNumber'
                            },
                            {
                                mapping: 'columnGroup',
                                name: 'columnGroup'
                            },
                            {
                                mapping: 'gridGrouping',
                                name: 'gridGrouping',
                                type: 'boolean'
                            },
                            {
                                mapping: 'gridGroupField',
                                name: 'gridGroupField'
                            },
                            {
                                defaultValue: '{text} ({[values.rs.length]} 条)',
                                mapping: 'gridGroupTextTpl',
                                name: 'gridGroupTextTpl'
                            }
                        ]
                    }),
                baseParams: {
                    dataObjectPath: 'xworker.web.app.view.extjs.server.tools.grid.DataObject'
                },
                items: [
                    new Ext.Panel({
                        hidden: true,
                        items: [

                        ]
                    }),
                    new Ext.Panel({
                        layout: 'table',
                        layoutConfig: {
                            columns: 6,
                            tableAttrs: {
                                cellspacing: 5
                            }
                        },
                        items: [
                            new Ext.form.Label({
                                text: 'Name:',
                                cls: 'x-form-field',
                                id: 'name',
                                colspan: 1,
                                rowspan: 1
                            }),
                            new Ext.form.TextField({
                                allowBlank: false,
                                name: 'name'
                            }),
                            new Ext.form.Label({
                                text: 'Label:',
                                cls: 'x-form-field',
                                id: 'label',
                                colspan: 1,
                                rowspan: 1
                            }),
                            new Ext.form.TextField({
                                name: 'label'
                            }),
                            new Ext.form.Label({
                                text: 'Id Property:',
                                cls: 'x-form-field',
                                id: 'storeIdProperty',
                                colspan: 1,
                                rowspan: 1
                            }),
                            new Ext.form.TextField({
                                name: 'storeIdProperty'
                            }),
                            new Ext.form.Label({
                                text: 'Paging:',
                                cls: 'x-form-field',
                                id: 'paging',
                                colspan: 1,
                                rowspan: 1
                            }),
                            new Ext.form.Checkbox({
                                inputValue: 'true',
                                name: 'paging'
                            }),
                            new Ext.form.Label({
                                text: 'Auto Load:',
                                cls: 'x-form-field',
                                id: 'storeAutoLoad',
                                colspan: 1,
                                rowspan: 1
                            }),
                            new Ext.form.Checkbox({
                                inputValue: 'true',
                                name: 'storeAutoLoad'
                            }),
                            new Ext.form.Label({
                                text: 'Auto Save:',
                                cls: 'x-form-field',
                                id: 'storeAutoSave',
                                colspan: 1,
                                rowspan: 1
                            }),
                            new Ext.form.Checkbox({
                                inputValue: 'true',
                                name: 'storeAutoSave'
                            }),
                            new Ext.form.Label({
                                text: 'Editable:',
                                cls: 'x-form-field',
                                id: 'gridEditable',
                                colspan: 1,
                                rowspan: 1
                            }),
                            new Ext.form.Checkbox({
                                inputValue: 'true',
                                name: 'gridEditable'
                            }),
                            new Ext.form.Label({
                                text: 'Column Locking:',
                                cls: 'x-form-field',
                                id: 'gridColumnLocking',
                                colspan: 1,
                                rowspan: 1
                            }),
                            new Ext.form.Checkbox({
                                inputValue: 'true',
                                name: 'gridColumnLocking'
                            }),
                            new Ext.form.Label({
                                text: 'Checkable:',
                                cls: 'x-form-field',
                                id: 'gridCheckable',
                                colspan: 1,
                                rowspan: 1
                            }),
                            new Ext.form.Checkbox({
                                inputValue: 'true',
                                name: 'gridCheckable'
                            }),
                            new Ext.form.Label({
                                text: 'Show Row Number:',
                                cls: 'x-form-field',
                                id: 'gridRowNumber',
                                colspan: 1,
                                rowspan: 1
                            }),
                            new Ext.form.Checkbox({
                                inputValue: 'true',
                                name: 'gridRowNumber'
                            }),
                            new Ext.form.Label({
                                text: 'Column Group:',
                                cls: 'x-form-field',
                                id: 'columnGroup',
                                colspan: 1,
                                rowspan: 1
                            }),
                            new Ext.form.Checkbox({
                                inputValue: 'true',
                                name: 'columnGroup'
                            }),
                            new Ext.form.Label({
                                text: 'Row Grouping:',
                                cls: 'x-form-field',
                                id: 'gridGrouping',
                                colspan: 1,
                                rowspan: 1
                            }),
                            new Ext.form.Checkbox({
                                inputValue: 'true',
                                name: 'gridGrouping'
                            }),
                            new Ext.form.Label({
                                text: 'Row Group Field:',
                                cls: 'x-form-field',
                                id: 'gridGroupField',
                                colspan: 1,
                                rowspan: 1
                            }),
                            new Ext.form.TextField({
                                name: 'gridGroupField'
                            }),
                            new Ext.form.Label({
                                text: 'Row Group Tpl:',
                                cls: 'x-form-field',
                                id: 'gridGroupTextTpl',
                                colspan: 1,
                                rowspan: 1
                            }),
                            new Ext.form.TextField({
                                name: 'gridGroupTextTpl'
                            })
                        ]
                    })
                ],
                doLoad: function(name){
                    Ext.getCmp('formPanel').getForm().load({url.'do?sc=xworker.appview.web.extjs.server.DataObjectForm/@read&name=' + name, 
                    waitMsg:'正在加载，请稍候...',
                    success:function(){
                        alert('tt');
                    },failure:function(form, action){
                        alert(action.failureType);
                        alert(action.response);
                        alert(action.result.msg);
                        alert(action.type);
                    }
                    });
                },
                doCreate: function(){
                    //提交数据
                    Ext.getCmp('formPanel').getForm().submit({
                        url.'do?sc=xworker.appview.web.extjs.server.DataObjectForm/@create', 
                        waitMsg:'正在保存数据，请稍候...',
                        success: function(form, action) {    
                           Ext.Msg.alert('成功', action.result.msg);
                        },
                        failure: function(form, action) {
                            switch (action.failureType) {
                                case Ext.form.Action.CLIENT_INVALID:
                                    Ext.Msg.alert('失败', '数据校验失败');
                                    break;
                                case Ext.form.Action.CONNECT_FAILURE:
                                    Ext.Msg.alert('失败', 'Ajax通讯错误');
                                    break;
                                case Ext.form.Action.SERVER_INVALID:
                                   Ext.Msg.alert('失败', action.result.msg);
                            }
                        }
                    });
                },
                doUpdate: function(){
                    //提交数据
                    Ext.getCmp('formPanel').getForm().submit({
                        url.'do?sc=xworker.appview.web.extjs.server.DataObjectForm/@update', 
                        waitMsg:'正在保存数据，请稍候...',
                        success: function(form, action) {    
                           Ext.Msg.alert('成功', action.result.msg);
                        },
                        failure: function(form, action) {
                            switch (action.failureType) {
                                case Ext.form.Action.CLIENT_INVALID:
                                    Ext.Msg.alert('失败', '数据校验失败');
                                    break;
                                case Ext.form.Action.CONNECT_FAILURE:
                                    Ext.Msg.alert('失败', 'Ajax通讯错误');
                                    break;
                                case Ext.form.Action.SERVER_INVALID:
                                   Ext.Msg.alert('失败', action.result.msg);
                            }
                        }
                    });
                },
                doDestroy: function(){
                    //提交数据
                    Ext.getCmp('formPanel').getForm().submit({
                        url.'do?sc=xworker.appview.web.extjs.server.DataObjectForm/@delete', 
                        waitMsg:'正在删除数据，请稍候...',
                        success: function(form, action) {    
                            Ext.Msg.alert('成功', action.result.msg);
                        },
                        failure: function(form, action) {
                            switch (action.failureType) {
                                case Ext.form.Action.CLIENT_INVALID:
                                    Ext.Msg.alert('失败', '数据校验失败');
                                    break;
                                case Ext.form.Action.CONNECT_FAILURE:
                                    Ext.Msg.alert('失败', 'Ajax通讯错误');
                                    break;
                                case Ext.form.Action.SERVER_INVALID:
                                   Ext.Msg.alert('失败', action.result.msg);
                            }
                        }
                    });
                }
            }),
            new Ext.grid.EditorGridPanel({
                region: 'center',
                id: 'grid',
                store: new Ext.data.JsonStore({
                        idProperty: 'name',
                        root: 'rows',
                        successProperty: 'success',
                        totalProperty: 'totalCount',
                        messageProperty: 'msg',
                        autoSave: false,
                        storeId: 'grid_store',
                        autoLoad: true,
                        proxy: new Ext.data.HttpProxy({
                                api: {
                                    read: 'do?sc=xworker.web.app.view.extjs.server.DataObjectStore:/@read',
                                    create: 'do?sc=xworker.web.app.view.extjs.server.DataObjectStore:/@create',
                                    update: 'do?sc=xworker.web.app.view.extjs.server.DataObjectStore:/@update',
                                    destroy: 'do?sc=xworker.web.app.view.extjs.server.DataObjectStore:/@destroy'
                                }
                            }),
                        writer: new Ext.data.JsonWriter({
                            }),
                        fields: [
                            {
                                mapping: 'name',
                                name: 'name'
                            },
                            {
                                mapping: 'label',
                                name: 'label'
                            },
                            {
                                mapping: 'isKey',
                                name: 'isKey',
                                type: 'boolean'
                            },
                            {
                                mapping: 'inputtype',
                                name: 'inputtype'
                            },
                            {
                                mapping: 'columnLocked',
                                name: 'columnLocked',
                                type: 'boolean'
                            },
                            {
                                mapping: 'gridGroupName',
                                name: 'gridGroupName'
                            },
                            {
                                mapping: 'gridGroupable',
                                name: 'gridGroupable',
                                type: 'boolean'
                            },
                            {
                                mapping: 'gridMenuDisabled',
                                name: 'gridMenuDisabled',
                                type: 'boolean'
                            }
                        ],
                        baseParams: {
                            dataObjectPath.'xworker.appview.web.extjs.server.tools.grid.Attribute'
                        },
                        listeners: {
                            exception: function(proxy, type, action, options, response){
                                
                                if(response.message){
                                    Ext.Msg.alert('失败', response.message);
                                }else{
                                    Ext.Msg.alert('失败', 'type=' + type + ',action=' + action);
                                }
                            }
                        }
                    }),
                buttons: [
                    new Ext.Button({
                        text: 'Add',
                        handler: function(){
                            Ext.Msg.prompt('Name', 'Please enter a field name:', function(btn, text){
                                if (btn == 'ok'){
                                    var store = Ext.StoreMgr.get('grid_store');
                                    store.insert(store.getCount(), new store.recordType({name:text}));
                                }
                            });
                        }
                    }),
                    new Ext.Button({
                        text: 'Remove',
                        handler: function(){
                            var grid = Ext.getCmp('grid');
                            var store = Ext.StoreMgr.get('grid_store');
                            store.remove(grid.getSelectionModel().getSelections());
                        }
                    }),
                    new Ext.Button({
                        text: 'Save',
                        handler: function(){
                            var store = Ext.StoreMgr.get("grid_store");
                            store.save();
                        }
                    })
                ],
                selModel: grid_checkBox,
                columns: [
                    grid_checkBox,
                    {
                        dataIndex: 'name',
                        editable: false,
                        fixed: true,
                        header: 'Name',
                        id: 'name',
                        locked: true,
                        editor: new Ext.form.TextField({
                                name: 'name'
                            })
                    },
                    {
                        dataIndex: 'label',
                        header: 'Label',
                        id: 'label',
                        editor: new Ext.form.TextField({
                                name: 'label'
                            })
                    },
                    {
                        dataIndex: 'isKey',
                        header: 'Is Key',
                        id: 'isKey',
                        xtype: 'booleancolumn',
                        editor: new Ext.form.Checkbox({
                                name: 'isKey'
                            })
                    },
                    {
                        dataIndex: 'inputtype',
                        header: 'Input Type',
                        id: 'inputtype',
                        editor: new Ext.form.TextField({
                                name: 'inputtype'
                            })
                    },
                    {
                        dataIndex: 'columnLocked',
                        header: 'Column Locked',
                        id: 'columnLocked',
                        xtype: 'booleancolumn',
                        editor: new Ext.form.Checkbox({
                                name: 'columnLocked'
                            })
                    },
                    {
                        dataIndex: 'gridGroupName',
                        header: 'Column Group Name',
                        id: 'gridGroupName',
                        editor: new Ext.form.TextField({
                                name: 'gridGroupName'
                            })
                    },
                    {
                        dataIndex: 'gridGroupable',
                        header: 'Row Groupable',
                        id: 'gridGroupable',
                        xtype: 'booleancolumn',
                        editor: new Ext.form.Checkbox({
                                name: 'gridGroupable'
                            })
                    },
                    {
                        dataIndex: 'gridMenuDisabled',
                        header: 'Menu Disabled',
                        id: 'gridMenuDisabled',
                        xtype: 'booleancolumn',
                        editor: new Ext.form.Checkbox({
                                name: 'gridMenuDisabled'
                            })
                    }
                ],
                bbar: new Ext.PagingToolbar({
                    store: 'grid_store'
                })
            })
        ]
    });

    var formPanel = Ext.getCmp('formPanel');
    formPanel.doLoad('DataObject');
});
#$@text#$@
      sdescriptors
      xworker.html.base.container.childs/@code
      sid
      code
    @/@test/@success
    sname
    success
    stype
    form
    scontentType
    text/html;charset=UTF-8
    svalue
    xworker.web.app.view.extjs.server.tools.grid.GridGenerator/@test/@view
    slabel
    success
    sdescriptors
    xworker.web.controls.SimpleControl/@result
    sid
    success
  @/@testMain
  sname
  testMain
  sdescriptors
  xworker.web.ControlSet/@SimpleControl
  sid
  testMain
    @/@testMain/@view
    sname
    view
    sbelongToHtml
    true
    sstyle
    default
    shasHead
    false
    shasBottom
    false
    sotherHeads
    <meta http-equiv="content-type" content="text/html; charset=utf-8">
    slabel
    view
    sdescriptors
    xworker.web.controls.SimpleControl/@view
    sid
    view
      @/@testMain/@view/@code
      sname
      code
      Scode
#$@text#$@
<html>
<head><title>ExtJs Grid Code Generateor</title>

<link rel="stylesheet" type="text/css" href="/js/extjs/resources/css/ext-all.css">
<script type="text/javascript" src="/js/extjs/adapter/ext/ext-base.js"></script>
<script type="text/javascript" src="/js/extjs/ext-all-debug.js"></script>
<link rel="stylesheet" type="text/css" href="/js/extjs/ux/css/ux-all.css">
<script type="text/javascript" src="/js/extjs/ux/ux-all-debug.js"></script>        


<script type="text/javascript" src="/do?sc=xworker.web.app.view.extjs.server.tools.grid.GridGenerator/@test"></script>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
</head>
<body >

    </body>
</html>
#$@text#$@
      sdescriptors
      xworker.html.base.container.childs/@code
      sid
      code
    @/@testMain/@success
    sname
    success
    stype
    form
    scontentType
    text/html;charset=UTF-8
    svalue
    xworker.web.app.view.extjs.server.tools.grid.GridGenerator/@testMain/@view
    slabel
    success
    sdescriptors
    xworker.web.controls.SimpleControl/@result
    sid
    success
