`
tigerricky
  • 浏览: 4986 次
  • 性别: Icon_minigender_1
  • 来自: 广州
最近访客 更多访客>>
社区版块
存档分类
最新评论

动态改变LIST的显示状态(动态图标实现)

阅读更多
项目中需要定时刷新一个LIST,且根据内容不同动态显示其状态。原来想用CHECKBOX来实现,但由于鼠标可以对显示正确的CHECKBOX进行修改,所以没有达到状态变更后不能修改的效果。相了很久,后来通过对与LIST的dataProvider进行绑定的ArrayCollection的每个对象的ICON进行动态生成解决了问题。:)
代码如下:
1、在动态监控的MXML显示页面,对状态图标类说明,用于TIMER刷新LIST的dataProvider显示图标。
//2011-03-31
    [Bindable]
    [Embed(source="images/playNotFinish.jpg")]
    public var playNotFinishPicFile:Class;
   
    [Bindable]
    [Embed(source="images/playFinish.jpg")]
    public var playFinishPicFile:Class;
   
    [Bindable]
    [Embed(source="images/playStop.jpg")]
    public var playStopPicFile:Class;
   
    [Bindable]
    [Embed(source="images/playDel.jpg")]
public var playDelPicFile:Class;
2、LIST设置绑定的ArrayCollection--- infoArrColl
<mx:List id="flatLister" width="100%" height="100%" fontSize="13" alternatingItemColors="[#EEEEEE, white]"
  dataProvider="{infoArrColl}" click="ListItemChangeHandler(event);"
    doubleClickEnabled="true" doubleClick="ListItemDoubleClickHandler(event);"  >        
</mx:List>

3、定时器刷新,MXML初始化时载入
autoRefreshTimer=new Timer(1000*sysinfoobjvo.monitorPanelRefreshTimes);
     autoRefreshTimer.addEventListener(TimerEvent.TIMER,autoRefreshTimer_timer);
     autoRefreshTimer.start();
4、 调用方法直接CALL后台的RemoteObject 的JAVA方法构建infoArrColl,这里不说了。
5、 后台的JAVA方法构建infoArrColl,在这里是oldList
for (int j = 0; j < oldList.size(); j++) {
xml_fltinfo oldObj = (xml_fltinfo) oldList.get(j);
if ((!oldObj.getPoint()) && (oldObj.getFinishTime().equals(""))) {
oldObj.setItemStatus(3);
oldObj.setProcess(100);
// 2011-03-31
oldObj.setIcon(BdsConstant.playFinishPicFile);
oldObj.setIsSelected(true);
oldObj.setFinishTime(CommonFun.getCurTime());
}
}
主要通过增加icon属性,并动态对其赋予不同的图标名称来实现OBJECT2VO映射后的图标显示
public class BdsConstant {
static  String playFinishPicFile="playFinishPicFile";
static  String playDelPicFile="playDelPicFile";
static  String playNotFinishPicFile="playNotFinishPicFile";
static  String playStopPicFile="playStopPicFile";
}
分享到:
评论

相关推荐

    MFC ListControl 中checkbox 处理 图标ICON

    以上就是如何在VC 6.0 MFC中实现ListControl带有复选框和图标的详细步骤。在实际项目中,可能还需要考虑其他因素,如自定义绘制项,处理更复杂的事件,或者在数据库或数组中同步数据等。通过深入理解CListCtrl类及其...

    带图标的排序List的简单实现

    4. **显示排序状态**:为了指示当前的排序状态,我们可以为列头添加一个箭头图标,表示升序或降序。这通常通过改变列头的`HDITEM`结构的`pszText`成员来实现,添加相应箭头的Unicode字符。或者,可以改变列头的背景...

    list control 改变某一行颜色

    在某些情况下,我们可能需要根据特定条件改变List Control中某一行的颜色,以突出显示某些信息或者提供视觉反馈。这个过程通常涉及到自定义绘制(custom drawing)。下面将详细解释如何实现这一功能。 首先,我们...

    ListCtrl不同行添加不同的图标

    此外,如果你使用的是MFC以外的框架,如Qt或wxWidgets,实现方式会有一定的差异,但基本思想是一致的:利用自定义绘制机制来在ListCtrl的每一行上显示不同的图标。 总的来说,给ListCtrl的不同行添加不同图标是一项...

    C#ListView动态组合图标

    - **动态改变图标**:根据程序逻辑,可以实时更改Item的ImageIndex,从而实现动态组合图标的效果。 3. **源码实现** - **添加ImageList**:首先创建一个ImageList实例,并添加所需的图标资源。 - **绑定图标**:...

    MFC中改变list control满足条件的某一行的背景颜色

    本文将详细讲解如何在MFC中针对特定条件改变List Control中的某一行的背景颜色。 首先,我们需要了解List Control的基本概念。它是MFC对Windows API中的ListView控件的封装,支持多种视图模式,如图标、报告(列表...

    Listcontrol 缩略图显示功能的实现

    本项目专注于在Listcontrol中实现缩略图显示功能,特别是对于.bmp图像。 要实现在Listcontrol中显示缩略图,首先需要了解ListView的自定义视图和图像列表(CImageList)的概念。在默认情况下,Listcontrol不支持...

    下拉列表中显示图标

    例如,当用户选择一个项时,可以改变与之关联的图标状态。 3. **Java GUI**: 对于Java桌面应用,可以使用JComboBox控件并自定义其渲染器来实现。你需要创建一个继承自DefaultListCellRenderer的类,重写`...

    ListCtr支持subitem可编辑,图标

    "字符串改变颜色"的功能可能是指根据数据状态或用户交互,动态地改变ListCtrl中字符串的显示颜色。这可以用来突出显示某些重要的信息,或者通过颜色来区分不同状态的数据,比如错误信息可以用红色显示,成功信息用...

    实现ListCtrl中checkbox风格的单选

    在Windows编程中,`ListCtrl`(列表控件)是非常常用的一种控件,它能够以多种视图形式显示数据,如图标、详细列表等。而在某些场景下,我们可能需要在列表项前添加复选框,并实现这些复选框之间的单选功能。下面...

    MFC list control 内嵌按钮以及样式

    7. **动态更新**: 如果List Control的数据发生变化,需要确保按钮的状态和位置也相应更新。这可能涉及重新绘制项或调整控件的尺寸。 提供的源码和exe文件可能包含实现这些功能的示例代码,通过阅读和分析这些代码,...

    【原创】c# ListView 大图标显示(分装用户控件)

    这个事件允许开发者在控件上进行精细的图形绘制,比如添加特殊效果、动态图标或者根据数据项的状态改变显示。在`DrawItem`事件处理程序中,开发者可以访问Graphics对象,利用它提供的方法如DrawImage、DrawString等...

    Android改变ExpandableListView的indicator图标实现方法

    在实际开发中,这种自定义方法不仅可以用于改变indicator图标,还可以应用于其他需要根据状态改变显示的组件,如TabLayout的指示器,或者其他需要动态切换图标的场景。通过这种方式,你可以为你的Android应用增添更...

    VC LISTCTRL扩展

    4. **状态图标**:通过`SetItemState`可以设置子项的状态,例如选中、高亮、禁用等,同时还可以显示自定义的状态图标。 5. **自定义消息处理**:可以重载`OnNotify`或`OnLvnItemchanged`等消息处理函数,来响应用户...

    微信小程序官方动态自定义底部tabBar的例子

    在`tabBar`的`list`属性中,我们可以定义需要展示的tab项,每项由`pagePath`(页面路径)、`iconPath`(未选中时的图标路径)、`selectedIconPath`(选中时的图标路径)和`text`(底部显示的文字)等属性组成。...

    ListControl控件技巧汇总

    要改变ListControl的风格,可以通过GetWindowLong和SetWindowLong函数来操作。例如,可以清除现有的显示方式,然后设置为报告风格(LVS_REPORT)。对于扩展风格,可以使用SetExtendedStyle方法添加如全行选择(LVS_...

    可设置行高及每行颜色的ListCtrl

    在Windows编程中,`ListCtrl` 是一个常用的控件,常用于显示列表数据,它可以在对话框、窗口或工具栏中使用。`ListCtrl` 支持多种视图模式,如报告视图、小图标视图、大图标视图和列表视图。在这个特定的情况下,...

    精彩编程与编程技巧-创建动态图标...

    本文将通过具体的示例代码来探讨如何利用Visual Basic(VB)实现动态图标效果。 #### 一、项目准备 在开始编写代码之前,我们需要进行一些准备工作: 1. **添加控件**:确保你的项目中已经包含了`Microsoft ...

    改变控件字体颜色\ListCtrl

    如果你的列表控件需要动态改变颜色,可能需要监听LVN_ITEMCHANGED通知,以便在项的状态改变时更新颜色。同时,为了让控件调用OnDrawItem(),你需要在创建列表控件时设置LVS_OWNERDRAWFIXED风格。 4. **性能考虑**...

    Android State List Drawable状态列表绘制实例.rar

    在Android开发中,State List Drawable(状态列表绘制对象)是一种非常重要的资源类型,它允许我们根据组件的状态(如被按下、被聚焦、被选中等)来改变其显示的图像。这个实例“Android State List Drawable状态...

Global site tag (gtag.js) - Google Analytics