![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
Регистрация: Sep 2009
Сообщений: 32
|
есть newtitlewindow.mxml
<?xml version="1.0" encoding="utf-8"?> <mx:TitleWindow xmlns:mx="http://www.adobe.com/2006/mxml" width="200" height="200" close="title_close();"> <mx:Script> <![CDATA[ import mx.managers.PopUpManager; public function title_close():void{ PopUpManager.removePopUp(this); } ]]> </mx:Script> <mx:Label text="This is the Modal Window" width="162"/> </mx:TitleWindow> блин и опятьже сам нашел ответ на свой вопрос, как только создам тему так нахожу решение, что за чудеса. Вобщем есть другой вопрос, как обновлять датагрид после внесения изменений? суть такая, из основного проекста кликаю по кнопке открывается всплывающее окно, в нем добавляю данные и кликаю кнопку добаваить(это я реализовал), надо чтобы после этого действия обновлялся датагрид еще возник вопросик, как реализовать такое: если значение поля в датагрид равно другому заданному то разрешить редактирование поля, возможно ли такое? и еще вопросик как из одного мхмл передать значения в другой мхмл ![]() Последний раз редактировалось buket; 11.01.2010 в 12:44. |
|
|||||
|
Регистрация: Dec 2009
Сообщений: 41
|
buket, расскажи, пожалуйста, как решил проблему с подключением всплывающего title window! У меня возникла такая же проблема.
Добавлено через 5 минут А насчет обновления датагриды - думаю все зависит от того, откуда она у тебя питается. У меня в проекте похожая ситуация, работаю с базой данных MS SQL, после добавления записи в БД, просто еще раз вызываю функцию заполнения датагриды. |
|
|||||
|
Регистрация: Sep 2009
Сообщений: 32
|
окно которое всплывает newpost.mxml
<?xml version="1.0" encoding="utf-8"?> <mx:TitleWindow xmlns:mx="http://www.adobe.com/2006/mxml" width="450" height="500" close="title_close();" horizontalAlign="center"> <mx:Script> <![CDATA[ import mx.managers.PopUpManager; import mx.events.CloseEvent; public function title_close():void{ PopUpManager.removePopUp(this); } ]]> </mx:Script> </mx:TitleWindow> <?xml version="1.0" encoding="utf-8"?> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" width="800"> <mx:Script> <![CDATA[ import mx.managers.PopUpManager; import mx.containers.TitleWindow; import mx.controls.Label; import mx.events.ListEvent; import mx.controls.Alert; public function addpost():void{ var newTitleWindow:newpost = new newpost(); newTitleWindow.showCloseButton = true; PopUpManager.addPopUp(newTitleWindow,this,true); PopUpManager.centerPopUp(newTitleWindow); } ]]> </mx:Script> <mx:Button label="Button" click="addpost()"/> //пример кнопки вызывающей всплывающее окно </mx:Application> |
|
|||||
|
Регистрация: Dec 2009
Сообщений: 41
|
спасибо за прекрасный примерчик! разобрался. Насчет передачи данных из мхмл в мхмл - поддерживаю, вопрос актуальный, может кто нибудь подскажет решение?
|
|
|||||
|
Цитата:
Предположим, надо передать массив из основного mxml в newTitleWindow. В newpost.mxml создаёте public var myArray:Array. В функции addpost() добавляете newTitleWindow.myArray = someArray; Или, наверное, можно ловить событие show в newpost.mxml и получать нужные данные через parent.* В справке по PopUpManager'у это есть, и ещё много всего полезного ![]() |
|
|||||
|
Регистрация: Sep 2009
Сообщений: 32
|
можно поподробнее, конкретно инересует передача данных из датагрид в другой мхмл(всплывающее окно)
Последний раз редактировалось buket; 12.01.2010 в 07:17. |
|
|||||
|
Регистрация: Dec 2009
Сообщений: 41
|
public var не получится увидеть из другог мхмл. А если public static var - то все прекрасно видно.
|
|
|||||
|
Регистрация: Sep 2009
Сообщений: 32
|
spacecadet а подробнее
|
|
|||||
|
Цитата:
buket, Вот пример из моей первой программы. Функция из основного mxml, создающая PopUp: // показать список клиентов public function btnBrowseClientsClick():void { var clientsPopup:clientsTitleWindow; clientsPopup = clientsTitleWindow(PopUpManager.createPopUp(this, clientsTitleWindow, true)); clientsPopup.addEventListener("mouseDownOutside", function():void { PopUpManager.removePopUp(clientsPopup); }); clientsPopup.myArray = clients; //Передаём список клиентов в PopUp. clients - ArrayCollection clientsPopup.targetComponent = сlientsList; //Передаём ссылку на компонент, куда будут помещаться возвращаемые данные. clientsList - ComboBox } Мой кастомный компонент: <?xml version="1.0" encoding="utf-8"?> <mx:TitleWindow xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" width="600" height="292" title="Список клиентов"> <mx:Script> <![CDATA[ import mx.managers.PopUpManager; import mx.collections.ArrayCollection; import mx.events.ListEvent; [Bindable] public var myArray:ArrayCollection; public var targetComponent:AdvancedAutoComplete; public function onCancelClick():void { PopUpManager.removePopUp(this); } public function myArrayFilter(item:Object):Boolean { var temp:String = item["Name"]; var ret:Boolean; if (temp.search(filter.text) != -1) return true; return false; } private function onItemDoubleClick(event:ListEvent):void { targetComponent.selectedItem = myArray[event.rowIndex]; onCancelClick(); } ]]> </mx:Script> <mx:DataGrid id="gridClients" width="100%" height="200" x="0" y="0" dataProvider="{ myArray }" doubleClickEnabled="true" itemDoubleClick="onItemDoubleClick(event)"> <mx:columns> <mx:DataGridColumn headerText="Имя клиента" dataField="Name" width="150"/> <mx:DataGridColumn headerText="Долг" dataField="Debt" width="60"/> <mx:DataGridColumn headerText="Лимит" dataField="Limit" width="60"/> <mx:DataGridColumn headerText="Комментарий" dataField="Comment" width="310"/> </mx:columns> </mx:DataGrid> <mx:TextInput id="filter" x="10" y="208" change="myArray.filterFunction = myArrayFilter; myArray.refresh()"/> <mx:Button id="btnCancel" x="485" y="208" label="Закрыть" click="onCancelClick()"/> </mx:TitleWindow> |
|
|||||
|
Регистрация: Sep 2009
Сообщений: 32
|
чтото не получается у меня, ругается
1046: Тип не найден или не является константой времени компиляции: clientsTitleWindow. 1120: Обращение несуществующего свойства clientsTitleWindow. все разобрался, спасибо Последний раз редактировалось buket; 13.01.2010 в 09:10. |
![]() |
![]() |
Часовой пояс GMT +4, время: 13:32. |
|
|
« Предыдущая тема | Следующая тема » |
|
|