私は自分のコードにPXLongOperationを持っていますが、ユーザーが操作をキャンセルしたかどうかを知る方法を見つけることはできません。PXLongOperationの取り消しの処理方法
public PXAction<SomeFilter> someUpdate;
[PXButton(CommitChanges = true)]
[PXUIField(DisplayName = "Update")]
public void SomeUpdate()
{
if (this.Base.Filter.Current == null)
throw new PXException("Please choose val.");
PXLongOperation.StartOperation(this.Base,() =>
SomeOperation(this.Base.Filter.Current)
);
}
private void SomeOperation(SomeFilter filter)
{
//how to know user cancelled operation or not?
}
心配はあなたが再度処理を実行しているからユーザーを防止している場合PXLongOperation.GetStatus(Base.UID)== PXLongRunStatus.InProcess – Brendan
スレッド内で操作がキャンセルされているかどうかを知る必要があります。 C#の取り消しトークンのようなオプションはありますか? – Hybridzz
私は、ユーザーがキャンセルをクリックした場合、プロセスを単純に中止する必要があると考えています。ユーザーがキャンセルをクリックするとすぐには表示されないことがありますが、ある時点でキャンセルする必要があります。 – Brendan