代码之家  ›  专栏  ›  技术社区  ›  Scott

网格不会每次都刷新。我能刷新整个窗口吗?

  •  0
  • Scott  · 技术社区  · 15 年前

    如何在这里创建一个重新加载.aspx页面的Javascript方法,我可以在其他现有方法中调用它。

        <%@ Page Language="VB" Inherits="Core.Web.BaseView(OfLending.Controllers.Workspace.DocumentUploadData)" %>
        <%@ Import Namespace="Framework.WebControls.Forms" %>
        <%@ Import Namespace="Framework.WebControls.Grids" %>
    
        <script runat="server">
    
        </script>
    
        <html xmlns="http://www.w3.org/1999/xhtml">
        <head runat="server">
            <title></title>
            <script language="javascript" type="text/javascript">
    
                function RefreshGrid(result, data) {
                    if (data.responseText.length > 0) {
                        var obj = eval('(' + data.responseText + ')');
                        if (obj.Result == false) {
                            Global.alertError(obj.UserMessage, obj.ExceptionID);
                        }
                        else {
                            Global.getComponent('txtDescription').setValue('');
                            mygrid.refresh();
                        }
                    }
                }
    
                var uploadWindow
                var showUploadWindow = function() {
                    if (!uploadWindow) {
                        uploadWindow = new Ext.Window({
                            title: 'Attach Document'
                            , width: 450
                            , height: 140
                            , closable: true
                            , closeAction: 'hide'
                            , iconCls: ''
                            , layout: 'form'
                            , bodyStyle: 'padding:10px 10px 0px 2px'
                            , labelWidth: 100
                            , labelAlign: 'right'
                            , renderTo: DocumentUploadForm_FormViewPort.getEl()
                            , constrain: true
                            , modal: true
                            , items: [{
                                xtype: 'textfield'
                                , validationEvent: 'blur'
                                , enableKeyEvents: true
                                , anchor: '100%'
                                , fieldLabel: '* Select File'
                                , labelStyle: 'color:red'
                                , el: 'fuDocument'
                                , id: 'fuDocument'
                                , allowBlank: false
                                , blankText: 'File Upload is a required field'
                                , inputType: 'file'
                            }, {
                                xtype: 'textfield'
                                , anchor: '100%'
                                , fieldLabel: 'Description'
                                , id: 'txtDescription'
                                , allowDecimals: false
                                , decimalPrecision: 0
                                , maxLength: 100
                                , maxLengthText: 'Description must be no more than 100 characters in length'
                            }]
                            , buttonAlign: 'center'
                            , fbar: [{
                                text: 'Save', iconCls: 'icon-button-save', handler: function() { uploadDocument() }
                            }, {
                                text: 'Cancel', iconCls: 'icon-button-cancel', handler: function() { uploadWindow.hide() }
                               }]
                            })
                        }
                        uploadWindow.show();
                        mapEnterKey(uploadWindow);
                    }
    
                function viewContent() {
                    var docId = mygrid.getSelectedString('DocumentId');
                    window.location = "Edit/" + docId;
                }
    
                function uploadDocument() {
                    uploadWindow.hide();
                    DocumentUploadForm.doAction('SAVE')
                    mygrid.refresh();
                }
    
                //this function maps enter key
                function mapEnterKey(obj) {
                    var keyMap = new Ext.KeyMap(obj.getEl(), {
                        key: Ext.EventObject.ENTER,
                        stopEvent: true,
                        handler: uploadDocument
                    });
                }
    
            </script>
        </head>
        <body>
            <form id="form1" runat="server">
    
                <div style="display:none">
                    <asp:FileUpload ID="fuDocument" runat="server"  />
                </div>
    
                <% 
                    Using DocumentUploadForm As New WebControls.Forms.Form()
                        With DocumentUploadForm
                            .ID = "DocumentUploadForm"
                            .Framed = False
                            .ItemName = "Document"
                            .Title = "Application Documents"
                            .TitleStyle = Forms.Form.TitleStyleType.TitleBar
                            .IconCls = "icon-blank-16"
                            .OnSubmitCallback = "RefreshGrid"
                            .Toolbar.UseDefaultButtons = False
    
                            With .CenterRegion
                                Using mygrid As New WebControls.Grids.Grid()
                                    With mygrid
                                        .ID = "mygrid"
    
                                        .GridItemName = "document"
                                        .Title = "Uploaded Documents"
                                        .Mode = Grid.GridMode.Tab
                                        .OnDoubleClick = "viewContent"
                                        .SetEditPage("Workspace/DocumentUpload.mvc", "DocumentId")
    
                                        With .Toolbar
                                            .AllowSearch = False
                                            .UseDefaultButtons = False
                                            With .AddButton("Attach Document", "function(){showUploadWindow();}")
                                                .RequiresRowSelection = False
                                                .IconClass = "icon-button-create"
                                            End With
                                            With .AddButton(Grids.Grid.GridToolbar.ButtonType.Edit)
                                                .Text = "View Document"
                                                .Handler = "viewContent"
                                                .IconClass = "icon-button-preview"
                                            End With
                                            With .AddButton(Grids.Grid.GridToolbar.ButtonType.Delete)
                                                .Text = "Delete Document"
                                            End With
                                            .PushItems()
                                            With .AddButton("Close Window", "function(){window.close()}")
                                                .RequiresRowSelection = False
                                                .IconClass = "icon-button-cancel"
                                            End With
                                        End With
    
                                        .Columns.AddHidden("DocumentId")
                                        .Columns.Add("Name", "Name", Grid.ColumnDataType.String, 200)
                                        .Columns.Add("Description", "Description", Grid.ColumnDataType.String, 450)
    
                                        .DataSource = ViewData("Documents")
                                        .DataBind()
                                        Response.Write(.ToString())
                                    End With
                                End Using
                                .AddControl("mygrid", "Documents", Forms.Control.ControlType.Grid)
                            End With
    
    
                        End With
    
                        Response.Write(DocumentUploadForm.ToString())
                    End Using
                %>
    
            </form>
        </body>
        </html>
    
    2 回复  |  直到 15 年前
        1
  •  0
  •   Swar    15 年前

    应该在GridView上调用refresh()函数(检查Ext Docs)。如果“mygrid”是你的GridPanel, 那就这样说吧:

    mygrid.getView().refresh();
    
        2
  •  0
  •   Scott    15 年前

    function RefreshGrid(result, data) {
                    window.location.reload();
                    if (data.responseText.length > 0) {
                        var obj = eval('(' + data.responseText + ')');
                        if (obj.Result == false) {
                            Global.alertError(obj.UserMessage, obj.ExceptionID);
                        }
                        else {
                            Global.getComponent('txtDescription').setValue('');
                        }
                    }
                }