0

現時点では解決できない問題があります。少し助けていただければ幸いです。ローカル XML ファイルが HTTP サービスにロードされ、データが DataGrid にロードされます。ローカル ファイルには、ローカルに保存されたファイルに関する情報が含まれています。

安全を期すために、AIR アプリが読み込まれるときに、読み込まれたデータグリッドを実行して、ローカル ファイルが存在するかどうかを確認したいと考えています。存在しない場合は、データグリッドの行を削除したい。

これを行うと、次の迷惑なエラーが発生します。指定されたインデックスは範囲外です。

データグリッド内の要素を削除すると、このエラーの原因となる新しいインデックスが作成されることがわかっています。

アドバイスありがとうございます!

public function checkiffileislocal(event:Event):void{

            var i:int;
            var count:Number = (dgUserRequest.dataProvider as ICollectionView).length;

            for (i=0;i < count;i++)
            {

                dgUserRequest.selectedIndex = i;
                if (File.applicationStorageDirectory.resolvePath(dgUserRequest.selectedItem.id).exists == false)
                {   
                    dgUserRequest.removeChildAt(dgUserRequest.selectedIndex);
                }

            }


        }
4

1 に答える 1

0

dataProvider から項目を削除したいように思えます。DataGrid の視覚的な子ではありません。

DataGrid の行はその子ではありません。

行/列は、dataProvider の項目数に基づいて自動的に作成されます。行/列オブジェクトを直接操作しようとしないでください。

于 2013-09-19T13:49:42.613 に答える