Я работаю над мультифайловым загрузчиком и хочу установить каталог для загрузки на основе выбранного ID вопроса (который является именем каталога) в моей сетке данных.
Код можно найти здесь http://pastie.org/784185
Примерно так:
Я установил myQuestionID (каталог для загрузки), чтобы его можно было привязать (строки 136-137):
[Bindable] public var myQuestionID:int;
В моей таблице данных я использую обработчик изменений (строка 539):
change="setQuestionID();"
Мы устанавливаем переменную в функции setQuestionID (строки 400-407):
[Bindable (event="questionChange")]
private function setQuestionID():void
{
myQuestionID = questionsDG.selectedItem.QuestionID;
dispatchEvent(new Event("questionChange"));
}
А затем попробуйте использовать его в моем сценарии загрузки (строки 448-475):
// initUploader is called when account info loads
public function getSessionInfoResult(event:ResultEvent):void{
// Get jsessionid & questionid (final directory) for CF uploader
myToken = roAccount.getSessionToken.lastResult;
// BUG: myQuestion is null in actionscript, but okay in form.
var postVariables:URLVariables = new URLVariables();
postVariables.jsessionid = myToken;
postVariables.questionid = myQuestionID;
multiFileUpload = new MultiFileUpload(
filesDG,
browseBTN,
clearButton,
delButton,
upload_btn,
progressbar,
uploadDestination,
postVariables,
350000,
filesToFilter
);
multiFileUpload.addEventListener(Event.COMPLETE,uploadsfinished);
}
Я вижу в своем MXML, что значение связано (строка 639):
<mx:Label text="{myDirectory}"/>
и он обновляется, когда я щелкаю строку в моей сетке данных. Однако, если я попытаюсь получить доступ к этому значению myQuestionID внутри любого скрипта действия, он будет отображаться как ноль (0). Я знаю, что мой загрузчик работает, так как я могу жестко закодировать myDirectory в известный каталог, и он будет загружен нормально.
Я действительно в тупике.