「インデックス付き」プロパティ (SQL テーブルでインデックス付き) をすべて共有するオブジェクト (.pdf を表す) が取り込まれたデータグリッドがあります。それらがインデックス化されている場合、それぞれのチェックボックスがチェックされ、インデックス化が true に設定されます。また、ウィンドウにはボタンがあり、クリックすると、選択したオブジェクトが呼び出されてインデックスが作成されます。
問題は、既にインデックスが作成されているものがある場合、ユーザーに何をすべきかを決定するよう促す必要があることです。無視 (何もしない) または置換 (テーブルを削除してインデックスを再作成)。これは私が試したものですが、ウィンドウを積み重ねてすべてのインデックスを作成し続けるだけです。
private function indexPDFData(evt:MouseEvent):void //button handler
{
var i:int=0;
if(pdfScreen.grid2.selectedIndices.length>0) //if items are selected
{
for each(var item:Object in pdfScreen.grid2.selectedItems)
{
if(item.indexed=="true")
{
var window:CustomPopUp = PopUpManager.createPopUp(pdfScreen, CustomPopUp, true) as CustomPopUp;
window.ignoreBtn.addEventListener(MouseEvent.CLICK, ignore);
window.replaceBtn.addEventListener(MouseEvent.CLICK, replace);
}
}
sendNotification(ApplicationFacade.COMMAND_INDEX_PDFS, (pdfScreen.grid2.selectedItems));
pdfScreen.controlBtns.enabled=false;
}
else
{
Alert.show("Must select an issue to index!", "Index PDFs");
}
}
私が望むのは、ユーザーが選択を行っている間はループを停止し、ポップアップ ウィンドウ内の 2 つの選択肢のいずれかをクリックした後に続行することです。私は多くのアプローチを試しましたが、どれもうまくいきません。私はas3にかなり慣れていないので、どんな助けや洞察も本当に感謝しています!