自定义屏幕网格中的“弹出值”未更新

问题描述

我们需要在自定义屏幕网格的弹出屏幕中更新所选值。 谁可以帮我这个事。 谢谢。

解决方法

我在其他项目中从事相同的功能。以下代码将为您提供帮助。如果您有任何问题,请告诉我。

操作按钮代码

public PXAction<SOAmazonSetup> GetSchema;
    [PXButton]
    [PXUIField(DisplayName = SOMessages.getSchema,MapEnableRights = PXCacheRights.Select,MapViewRights = PXCacheRights.Select,Enabled = true)]
    protected virtual IEnumerable getSchema(PXAdapter adapter)
    {
        if (setupview.Current != null)
        {
            if (schemaView.AskExt() == WebDialogResult.OK && !string.IsNullOrEmpty(schemaView.Current.AmazonOrderID))
            {
                bool isgetSchema = true;
                SOSchemaFileDetails objSchemaFileDetails = PXSelectJoin<SOSchemaFileDetails,InnerJoin<SOAmazonSetup,On<SOSchemaFileDetails.integrationID,Equal<SOAmazonSetup.integrationID>>>,Where<SOAmazonSetup.integrationID,Equal<Current<SOAmazonSetup.integrationID>>>>.Select(this);
                if (objSchemaFileDetails != null)
                {
                    if (msgView.Ask(schemaView.Current,SOMessages.getSchema,SOMessages.warningMsg,MessageButtons.YesNo,MessageIcon.Warning) == WebDialogResult.No)
                    {
                        isgetSchema = false;
                    }
                }
                if (isgetSchema)
                {
                    // get needed information in local variables
                    string sAmazonOrderID = schemaView.Current.AmazonOrderID;
                    string sIntegrationID = setupview.Current.IntegrationID;
                    PXLongOperation.StartOperation(this,delegate ()
                    {
                        //Create Instance
                        SOAmazonSetupMaint setupGraph = PXGraph.CreateInstance<SOAmazonSetupMaint>();                            
                        setupGraph.setupview.Current = setupGraph.setupview.Search<SOAmazonSetup.integrationID>(sIntegrationID);                                              
                        SOHelper.GetSchemaFromAmazon(setupGraph,clientOrder,sAmazonOrderID);
                        DynamicSchema.ReloadSchema(setupGraph,sIntegrationID);
                    });
                }
            }
            else
            {
                throw new Exception(SOMessages.AmwOrderCannotbeEmpty);
            }
        }
        return adapter.Get();
    }

SmartPanel代码:

 <px:PXSmartPanel ID="AMpnlGetSchema" runat="server" Caption="Get Schema"
    CaptionVisible="true" DesignView="Hidden" LoadOnDemand="true" Key="schemaView" CreateOnDemand="false" AutoCallBack-Enabled="true"
    AutoCallBack-Target="formGetSchema" AutoCallBack-Command="Refresh" CallBackMode-CommitChanges="True" CallBackMode-PostData="Page"
    AcceptButtonID="btnOK" Width=" 250px">
    <px:PXFormView ID="AMformGetSchema" runat="server" DataSourceID="ds" Style="z-index: 100" Width="100%" CaptionVisible="False"
        DataMember="schemaView">
        <ContentStyle BackColor="Transparent" BorderStyle="None" />
        <Template>
            <px:PXLayoutRule ID="AMPXLayoutRuleAmazonAPISettings" StartColumn="true" runat="server" ControlSize="M" />
            <px:PXTextEdit CommitChanges="True" runat="server" ID="AMCstPXTextEditAmazonOrderID" DataField="AmazonOrderID"></px:PXTextEdit>
        </Template>
    </px:PXFormView>
    <px:PXPanel ID="AMpnlOK" runat="server" SkinID="Buttons">
        <px:PXButton ID="btnOK" runat="server" DialogResult="OK" Text="OK">
            <AutoCallBack Target="formGetSchema" Command="Save" />
        </px:PXButton>
    </px:PXPanel>
</px:PXSmartPanel>