问题描述
我们需要在自定义屏幕网格的弹出屏幕中更新所选值。 谁可以帮我这个事。 谢谢。
解决方法
我在其他项目中从事相同的功能。以下代码将为您提供帮助。如果您有任何问题,请告诉我。
操作按钮代码
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>