уникальная переменная arraycollection

#apache-flex #actionscript

#apache-flex #actionscript

Вопрос:

Как мне создать новую arraycollection, которая может генерировать уникальное имя переменной?

Нравится:

 AC nu as in AC1:ArrayCollection
AC nu as in AC2:ArrayCollection
AC nu as in AC3:ArrayCollection
AC nu as in AC4:ArrayCollection
nu  ;
  

Комментарии:

1. Итак, вы хотите, чтобы это было сделано во время выполнения, верно? Возможно, если вы скажете нам, почему вы хотите это сделать, возможно, мы сможем придумать решение 🙂

2. У меня есть несколько datagrid, если я исправлю, datagrid может принимать только AC, поэтому, если я использую один AC, повлияют ли изменения, внесенные в AC, на другие datagrid, использующие тот же AC, я думаю, правильно ли иметь уникальный AC для каждой datagrid?

3. Я не уверен, может ли DataGrid принимать только AC или нет. Я думал, что он также может принимать XML. Если оставить в стороне эту проблему, да, вам понадобится уникальный AC для каждой сетки данных. Вы заполняете сетки во время выполнения в цикле? Или вы вызываете их один за другим?

4. Вызываю их один за другим.

5. Не задавайте технических вопросов типа «как мне сделать x в коде». Вместо этого задайте проблему, с которой вы столкнулись: «Я пытаюсь выполнить X, как мне это сделать?» Я все еще не понимаю, зачем вам нужно более одного ArrayCollection, если вы показываете одни и те же данные в обеих сетках данных.

Ответ №1:

Я думаю, вы хотите:

 var ac1:ArrayCollection = new ArrayCollection(sourceArrayCollection.list);
var ac2:ArrayCollection = new ArrayCollection(sourceArrayCollection.list);
  

Ответ №2:

Не могли бы вы рассмотреть возможность создания super ArrayCollection для хранения всей имеющейся у вас коллекции ArrayCollection. Идеальный вариант — это двумерный массив.

             var superDataCollection:ArrayCollection = new ArrayCollection();
            var dc:ArrayCollection = new ArrayCollection();
            var di:Object = new Object();
            di.label1 = "Test";
            di.label2 = "Test2";
            dc.addItem(di);
            superDataCollection.addItem(dc);
            myDG.dataProvider = superDataCollection[0];