使用了 Listbox 控件, setModel 方式绑定数据, 但是发现, 在滚动中出现了数据加载的延迟现象。 这个效果可能不能接受。
<listbox id="searchResult" height="500px" fixedLayout="true" >
<listhead sizable="false" height="20px">
<listheader label="选择" align="left" width="45px"/>
<listheader label="工号" align="left"/>
<listheader label="姓名" align="left"/>
<listheader label="单位" align="left"/>
<listheader label="机型" align="left"/>
<listheader label="教员标准" align="left"/>
<listheader label="检查员标准" align="left" width="85px"/>
</listhead><!--
<listitem height="20px" forEachBegin="1" self="@{each='pilotBasicInfor'}" value="@{pilotBasicInfor}">
<listcell ><radio value="@{pilotBasicInfor.basicInfoId}" radiogroup="choosePilotInfor" onCheck="controller.pilotInforOnSelect(self)" ></radio></listcell>
<listcell label="@{pilotBasicInfor.clerkCode}" />
<listcell>
<a label="@{pilotBasicInfor.pilotName}"/>
</listcell>
<listcell label="@{pilotBasicInfor.unitName}" />
<listcell
label="@{pilotBasicInfor.acTypeName}" />
<listcell label="@{pilotBasicInfor.teacherTypeName}" />
<listcell label="@{pilotBasicInfor.inspectorTypeName}" />
</listitem> -->
</listbox>
注释了上面的绑定代码,
采用了在 Java 中创建组建添加到 ListBox 中的方式 , 解决了这个延迟的问题 。 代码:
OrderablePagination orderablePagination = new OrderablePagination(0, 0, 0);
orderablePagination.setTotalCount(0);
listPiv = (List<PeopleDto>) this.executeQuery(orderablePagination);
Listbox listResult = (Listbox) self.getFellowIfAny("searchResult");
listResult.getItems().clear();
listResult.setCheckmark(true);
listResult.setMultiple(false);
for(PeopleDto p : listPiv){
System.out.println("-------------"+p.getPilotName());
// if(i == 10)
// break;
final Listitem li = new Listitem();
li.setParent(listResult);
li.setValue(p.getBasicInfoId().toString());
li.addEventListener(Events.ON_CLICK, new EventListener() {
@Override
public void onEvent(Event arg0) throws Exception {
// TODO Auto-generated method stub
checkedBasicInforID = new Long(li.getValue().toString());
}
});
Listcell cell = new Listcell();
li.appendChild(cell);
li.appendChild(new Listcell(p.getClerkCode()));
li.appendChild(new Listcell(p.getPilotName()));
li.appendChild(new Listcell(p.getUnitName()));
li.appendChild(new Listcell(p.getAcTypeName()));
li.appendChild(new Listcell(p.getTeacherTypeName()));
li.appendChild(new Listcell(p.getInspectorTypeName()));
// i++;
}
但是, 每次查询的时候, 旧的数据不能清空, 需要手动调用方法:
注意此处调用的代码 :
listResult.getItems().clear();
ListBox 中的 ListHead 不会被清除, 但是加载的 ListItem 会被清空。 。
然后加载数据 。
listResult.setCheckmark(true);
listResult.setMultiple(false);
设置成为 单选列表。
分享到:
相关推荐
在Web开发中,动态加载ListBox(下拉列表框)的Item是一种常见的需求,尤其是在数据量大或者需要实时更新数据的情况下。动态加载不仅可以提高页面的加载速度,还可以优化用户体验,避免一次性加载大量数据导致的页面...
ListView 延迟加载 @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); new LongOperation(this,new Excution(){ @Override public void longExcute(){ ...
在本示例中,我们关注的是一个特定的实现,即创建一个多选的Listbox来加载手机的通讯录。这个功能允许用户在通讯录联系人列表中选择多个条目,这对于某些应用,如批量发送短信或邮件,可能是非常有用的。 标题"...
总结来说,“listbox滑动到底部后加载数据”是一种常见的优化策略,尤其适用于处理大数据集的场景。通过监听滚动事件并判断滚动位置,可以在用户即将看到列表底部时动态加载新的数据,提高应用性能,同时保持良好的...
在WPF(Windows Presentation Foundation)应用开发中,`ListBox`是一个常用的数据展示控件,它允许用户通过列表形式查看和选择数据。在这个场景中,我们要讨论如何在`ListBox`中显示图片,这是一个常见的需求,特别...
在这个问题中,我们主要探讨如何解决ListBox的分页问题,并可以将解决方案扩展到GridView控件。 首先,我们要理解分页的基本概念。分页是将大量数据分为若干小部分(页)来显示,每次只加载一页数据,从而提高用户...
在本项目中,我们主要探讨如何使用Bootstrap框架和bootstrapDualListbox插件来动态生成表格。Bootstrap是一款流行的前端开发框架,提供了丰富的UI组件和响应式设计,使得网站和应用程序能够跨设备兼容,拥有良好的...
在标题中提到了“AutoScroll ListBox”,这是指当用户滚动到底部时,`ListBox`会自动加载更多数据,实现无限滚动的效果。这种功能通常通过结合虚拟化技术(如`VirtualizingStackPanel`)和数据分页来实现。以下是一...
【标题】"ZK_DEMO-listbox-paging.zip_DEMO_ListBox Java" 是一个与Java相关的压缩包,其中包含了一个示例项目,演示了如何在Java应用程序中实现ListBox的分页功能。ZK是一个基于Java的富客户端用户界面框架,它使得...
" ListBox拖拽功能实现" ListBox控件是Windows Forms应用程序中的一种常见控件,它能够显示一组项目,并允许用户进行选择和拖拽操作。实现ListBox控件的拖拽功能,可以使用户更方便地在不同的ListBox控件之间移动...
在C#编程中,Listbox控件是一种常用的数据展示组件,它允许程序员向用户显示一系列条目或选项。当我们处理大量数据或者实时更新内容时,可能会遇到需要实现Listbox自动滚动的功能。这个功能通常用于确保最新的添加项...
在某些场景下,如实时更新数据或者加载大量新内容时,我们需要让ListBox自动滚动到最底部,以便用户能够看到最新的信息。这个过程涉及到控件的事件处理和滚动条的控制。 在Windows Forms中,实现ListBox自动滚动到...
标题“Delphi Listbox多列显示”所涉及的主题就是如何扩展Listbox的基本功能,使其能够支持多列显示,从而避免使用更复杂的控件如ListView。 描述中提到,通常由于Listbox不支持多列显示,开发者可能会转向ListView...
在某些应用场景中,我们可能需要监听和处理Listbox的滚动事件,例如实现无限滚动、动态加载数据或者自定义滚动效果。本篇文章将详细讲解如何在WPF中对Listbox的滚动事件进行判断和处理。 首先,我们要了解WPF中...
为了解决这个问题,我们可以实现分页加载,即每次只加载一部分数据到`ListBox`中。 ### 二、实现滚动翻页的策略 1. **虚拟化**:WPF提供了虚拟化技术,当`ListBox`项数过多时,只有可视区域内的项会被实际创建。这...
本话题主要探讨如何利用Combobox和ListBox这两个控件来解决检索问题,以及如何自定义控件以适应特定需求。 Combobox(组合框)和ListBox(列表框)是Windows Forms和WPF等UI框架中常见的控件,它们在用户界面设计中...
在Windows Presentation Foundation (WPF) 中,`ListBox` 是一个常用的控件,用于展示一系列可选项目。在设计用户界面时,我们常常希望控件能够根据窗口大小的变化自动调整其尺寸,以保持良好的布局和用户体验。`...
实际应用中,你需要根据具体需求来实现`LoadMoreData`方法,比如从数据库或网络加载数据,并将新数据添加到ListBox的`Items`集合中。 总之,C#中的ListBox控件提供了丰富的事件处理能力,允许开发者对用户的各种...
无论是打开新窗口、加载数据还是执行其他任务,合理利用ListBox的双击事件可以显著提升应用程序的用户体验和功能性。在实际开发中,理解并掌握ListBox的事件处理机制,尤其是双击事件,对于创建响应式和用户友好的...
ListBox是Windows Forms和Web开发中常用的一种控件,主要用于显示一系列可选择的项。在本文中,我们将深入探讨如何在Windows Forms或ASP.NET环境中实现ListBox的上下左右移动功能,并支持通过Ctrl键进行多选。 首先...