当使用对ExtJS 3.0的RTL支持时,ExtJS Ext.Msg导致IE6和IE7上的网格标题消失

时间:2011-01-27 08:23:44

标签: javascript javascript-framework extjs

好的,这是我的代码: 我使用RTL支持ExtJS 3.0 RTL support for ExtJS 3.0

var store = new Ext.data.JsonStore({
    root: 'results',
    baseParams: {
        actionName: 'SearchDynamicArchive',
        xmlFileName: 'Demo.xml'
    },
    totalProperty: 'totalCount',
    idProperty: 'id',
    remoteSort: false,
    fields: ['fileName', 'cbDocType', 'cbDocSubject', 'txtDocDate', 'txtDocName', 'cbInitiativeDepartment', 'cbDepartmentInitiates', 'cbBuyerDepartment', 'cbEconomist', 'txtDemandNumber', 'txtCallNumber', 'txtSupplier', 'uploadDate', 'userName'],
    url: 'DynamicActionsHandler.ashx',
    autoLoad: {
        params: {
            limit: 30,
            start: 0,
            actionName: 'SearchDynamicArchive',
            siteID: 'e60b36f9-2e62-4425-b015-5de58325aaa8',
            panelId: 'bzqSearchPanel',
            xmlFileName: 'Demo.xml'
        }
    }
});

var grid = new Ext.grid.GridPanel({
    title: '',
    store: store,
    trackMouseOver: true,
    disableSelection: true,
    loadMask: false,
    columns: [{
        id: 'srf2',
        header: '<b>שם צרופה</b>',
        dataIndex: 'fileName',
        width: 'auto',
        sortable: true
    }, {
        id: 'cbDocType',
        header: '<b>סוג מסמך</b>',
        dataIndex: 'cbDocType',
        width: 'auto',
        sortable: true
    }, {
        id: 'cbDocSubject',
        header: '<b>נושא מסמך</b>',
        dataIndex: 'cbDocSubject',
        width: 'auto',
        sortable: true
    }, {
        id: 'txtFromDocDate',
        header: '<b>תאריך מסמך</b>',
        dataIndex: 'txtDocDate',
        width: 'auto',
        sortable: true
    }, {
        id: 'txtDocName',
        header: '<b>שם מסמך</b>',
        dataIndex: 'txtDocName',
        width: 'auto',
        sortable: true
    }, {
        id: 'cbInitiativeDepartment',
        header: '<b>חטיבה יוזמת</b>',
        dataIndex: 'cbInitiativeDepartment',
        width: 'auto',
        sortable: true
    }, {
        id: 'cbDepartmentInitiates',
        header: '<b>אגף יוזם</b>',
        dataIndex: 'cbDepartmentInitiates',
        width: 'auto',
        sortable: true
    }, {
        id: 'cbBuyerDepartment',
        header: '<b>ממ&quot;ח רכש</b>',
        dataIndex: 'cbBuyerDepartment',
        width: 'auto',
        sortable: true
    }, {
        id: 'cbEconomist',
        header: '<b>כלכלן</b>',
        dataIndex: 'cbEconomist',
        width: 'auto',
        sortable: true
    }, {
        id: 'txtDemandNumber',
        header: '<b>מספר דרישה</b>',
        dataIndex: 'txtDemandNumber',
        width: 'auto',
        sortable: true
    }, {
        id: 'txtCallNumber',
        header: '<b>מספר התקשרות</b>',
        dataIndex: 'txtCallNumber',
        width: 'auto',
        sortable: true
    }, {
        id: 'txtSupplier',
        header: '<b>ספק</b>',
        dataIndex: 'txtSupplier',
        width: 'auto',
        sortable: true
    }, {
        id: 'txtFromDocUploadDate',
        header: '<b>תאריך העלאה</b>',
        dataIndex: 'uploadDate',
        width: 'auto',
        sortable: true
    }, {
        id: 'userName',
        header: '<b>שם משתמש</b>',
        dataIndex: 'userName',
        width: 'auto',
        sortable: true
    }],
    stripeRows: true,
    viewConfig: {
        forceFit: true,
        enableRowBody: true,
        showPreview: true
    },
    sm: new Ext.grid.RowSelectionModel({
        singleSelect: true
    })

    ,
    bbar: [new Ext.PagingToolbar({
        id: 'paging-bar',
        pageSize: 30,
        store: store,
        displayInfo: true,
        displayMsg: localize.displayPages,
        emptyMsg: localize.noDocsToDisplay,
        listeners: {
            beforechange: onBeforePageChange
        }
    })],
    listeners: {
        rowcontextmenu: onRowcontextmenu,
        rowdblclick: function (g, ri, e) {
            downloadFile(store.getAt(ri).id);
        },
        render: function (grid) {
            grid.getEl().on("contextmenu", Ext.emptyFn, null, {
                preventDefault: true
            });
        }
    },
    contextMenu: new Ext.menu.Menu({
        items: [{
            pressed: false,
            enableToggle: false,
            text: localize.updateRecord,
            id: 'update_attachment'
        }, {
            pressed: false,
            enableToggle: false,
            text: localize.deleteRecord,
            id: 'delete_attachment'
        }, {
            pressed: false,
            enableToggle: false,
            text: localize.downloadRecord,
            id: 'download_attachment'
        }],
        listeners: {
            itemclick: onItemclick
        }
    }),
    autoExpandColumn: 'userName',
    id: 'searchResultPanel',
    enableColumnResize: true
});

Ext.onReady(function () {
    var dynamic_grid = new Ext.Container({
        layout: 'fit',
        items: grid,
        renderTo: 'dynamic_grid'
    })
    onPageResize();
    window.onresize = onPageResize;
});

现在,当我弹出一个Ext.Msg警报时,它会附带一个屏蔽层,使网格标题消失。 我应该在哪里寻找补救措施? 任何帮助都将被挪用......

1 个答案:

答案 0 :(得分:0)

您确定要使用Ext.MessageBox吗?如果你引用API,这个组件与常规javascript alert()的不同之处在于它不会停止代码的执行,因为它是异步的。

如果您打算停止所有代码执行,直到用户在警告框中按“确定”,您应该坚持使用普通警报();