实习日志(7):Flex的repeater组件
上午在昨天工作的基础上,修改了浏览板报的形式。即把由DataGrid展示的内容改为由panel面板展示,问题的难点在于如何令panel面板将数据库中的数据循环显示出来 ——使用repeater组件,可以达到循环显示数据的目的。 实现方法: <mx:VBox> <mx:Repeater id="rp" dataProvider="{lookContent.lastResult.Contents.Content}"> <mx:Panel width="835" height="239" layout="absolute" title="板报标题:{rp.currentItem.title}" fontWeight="bold" fontSize="15" horizontalCenter="25" verticalCenter="10" borderColor="#050505" cornerRadius="20" alpha="1.0"> <mx:Label x="0" y="10" text="板报内容:"/> <mx:Text x="10" y="42" text="{rp.currentItem.content}" width="795" height="97" alpha="1.0"/> <mx:Label x="144" y="163" text="发布人:{rp.currentItem.author}" width="124"/> <mx:Label x="435" y="163" text="失效时间:{rp.currentItem.finish}"/> </mx:Panel> </mx:Repeater> </mx:VBox> 显示效果: ?
? XML格式 ?即将XML文件送给repeater,令其显示即可。 ? 下午研究了在Datarid中增加LinkButton的方法,看了一个博客,终于搞出了通过LinkButton删除DataGrid中一行数据的方法,可惜博客地址当时没记、、、 具体实现: <!--dataProvider接收HttpService(lookContent)返回的值--> <mx:DataGrid dataProvider="{lookContent.lastResult.Contents.Content}" width="808" textAlign="center" borderStyle="inset" height="334" id="list" verticalCenter="-10" x="16.5"> <mx:columns> <mx:DataGridColumn headerText="板报标题" dataField="title" width="150"/> <mx:DataGridColumn headerText="失效时间" dataField="finish" width="150"/> <!--在该列中(修改板报)添加LinkButton,具体功能没做,明天搞吧--> <mx:DataGridColumn headerText="修改板报" dataField="id" width="60" > <mx:itemRenderer> <mx:Component> <mx:LinkButton toolTip="修改板报" click="" icon="@Embed('image/update.gif')"> </mx:LinkButton> </mx:Component> </mx:itemRenderer> </mx:DataGridColumn> <!--在该列中(删除板报)添加LinkButton--> <mx:DataGridColumn dataField="id" headerText="删除板报" width="60" > <mx:itemRenderer> <mx:Component> <mx:LinkButton toolTip="删除板报" click="deletebtn(event)" icon="@Embed('image/delete.gif')"> <mx:Script> <![CDATA[ import mx.controls.Alert; private function deletebtn(event:MouseEvent):void{ outerDocument.deletebtn(event); } ]]> </mx:Script> </mx:LinkButton> </mx:Component> </mx:itemRenderer> </mx:DataGridColumn> </mx:columns> </mx:DataGrid> deletebn()调用的外部方法deletebn(): public function deletebtn(event:MouseEvent):void{ deleteContent.send(); } HTTPService——deleteContent部分 <!--删除板报--> <mx:HTTPService id="deleteContent" url="http://localhost:8080/BlackBoardV1.5/ContentServlet" useProxy="false" method="post" result="deleteHandler(event)"> <mx:request> <flag>{"delete"}</flag> <id>{list.selectedItem.id}</id> </mx:request> </mx:HTTPService> ? 运行效果: 删除板报: ? 一些概念性的东东: ? 错误处理: 每天都有错误,啊啊啊,不知道是运气不好还是水平太次,每天放在处理错误上的时间大把大把的。 1、DataGrid中定义的方法不能引用外部的HTTPService id。 解决方法: 在DateGrid中定义内部函数,通过内部函数获取外部的方法和属性。 实现过程中参考了该大神博客: http://www.cnblogs.com/sange/archive/2012/03/22/2412281.html 2、java.lang.NoSuchMethodError: com.model.ContentDao.deleteContent(I)Z 让我郁闷的一个错误,查了半天,后来重启了Tomcat之后不再报错了、、 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- 更改FlexBuilder4 默认HTML模版
- ruby-on-rails-3 – 带有rspec2 beta 5和rails3 beta2的sho
- Swift销毁(Deinitialization)
- iphone – UITableView自定义单元格滚动后消失的内容
- 当 Swift 遇上 NSClassFromString
- datetime – 将小时数据聚合成每日聚合
- C#实现可捕获几乎所有键盘鼠标事件的钩子类完整实例
- 写一个 JSONP 请求函数
- ruby-on-rails – 使用Rails 3.1进行RestKit映射
- 作业五之AsyncTask,SQLite,Contacts,AutoCompleteTextView(