首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

TornadoFX -如何修复自定义单元格工厂在删除项目时无法正确更新的ListView?

TornadoFX是一个基于Kotlin语言的JavaFX框架,用于快速构建现代化的桌面应用程序。它提供了丰富的API和工具,使开发人员能够轻松地创建具有各种功能和交互性的用户界面。

在TornadoFX中,ListView是一种常用的UI组件,用于显示列表数据。当我们使用自定义单元格工厂来渲染ListView的每个项目时,有时会遇到一个问题:当删除项目时,ListView无法正确更新。

修复这个问题的一种方法是使用ObservableList作为ListView的数据源,并在删除项目时手动更新数据源。具体步骤如下:

  1. 创建一个ObservableList对象,用于存储ListView的数据源。例如:
代码语言:txt
复制
val items = FXCollections.observableArrayList("Item 1", "Item 2", "Item 3")
  1. 创建一个自定义的单元格工厂,用于渲染ListView的每个项目。例如:
代码语言:txt
复制
class CustomCell : ListCell<String>() {
    override fun updateItem(item: String?, empty: Boolean) {
        super.updateItem(item, empty)
        text = item
    }
}
  1. 将ObservableList和自定义单元格工厂应用到ListView上。例如:
代码语言:txt
复制
val listView = ListView<String>()
listView.items = items
listView.cellFactory = Callback<ListView<String>, ListCell<String>> { CustomCell() }
  1. 在删除项目时,更新ObservableList并刷新ListView。例如:
代码语言:txt
复制
listView.setOnMouseClicked {
    val selectedItem = listView.selectionModel.selectedItem
    items.remove(selectedItem)
    listView.refresh()
}

通过以上步骤,我们手动更新了ObservableList中的数据,并调用了ListView的refresh()方法来刷新界面,从而修复了自定义单元格工厂在删除项目时无法正确更新的问题。

TornadoFX的优势在于其简洁的API和强大的功能,使得开发人员能够快速构建现代化的桌面应用程序。它还提供了丰富的扩展和插件,可以轻松集成其他技术和工具,如数据库访问、网络通信和多媒体处理等。

对于这个问题,腾讯云没有直接相关的产品或服务。但是,腾讯云提供了一系列云计算产品和解决方案,如云服务器、云数据库、云存储、人工智能等,可以帮助开发人员构建和部署各种应用程序。您可以访问腾讯云官方网站(https://cloud.tencent.com/)了解更多信息。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

TDesign 更新周报(2022年7月第3周)

场景下 keys 无效的问题Table:修复多级表头表格中,列配置全选功能选不全的问题修复可选中行 table 组件,data 为空数据时,默认全选按钮会选中的问题兼容IE滚动条高度计算覆盖不全问题修复树形结构懒加载顺序问题可编辑单元格...: 修复可编辑单元格,校验失败的信息无法清除问题Table: 树形结构,修复树形结构懒加载顺序问题Swiper: 动态修改 swiper item 会出现 vue 警告Tree: 修复节点过滤后被一直锁住的问题...TagInput: 修复hover时组件换行的样式异常drawer: 修复开启 destroyOnClose 时多次打开关闭时动效丢失问题table: 可编辑单元格,修复无法透传 ReactNode 属性到组件...table: 可编辑单元格,修复 onEnter 无法触发 onEdited 问题table: 可编辑单元格,一旦校验不通过,后续编辑无法退出编辑态问题card: 修复 header 渲染失效问题Select...: 修复 pick 事件返回的 label 不正确的问题Picker: confirm-btn 和 cancel-btn 增加 boolean 类型,值为 true 时使用默认文案DropdownMenu

2.8K30

Excelize 2.7.0 发布, 2023 年首个更新

支持为折线图设置是否使用平滑折线,相关 issue #1290使用 AddChart 函数添加图表时,支持设置自定义折线图线条颜色,相关 issue #1345使用 AddChart 函数添加图表时,支持设置自定义坐标轴字体样式...,相关 issue #1369支持读取带有符合 ISO 8061 标准的时间类型单元格的值支持设置和读取带有内建颜色索引的字体颜色工作簿关闭函数将清理由流式写入器生成的磁盘缓存文件支持添加或删除列时自动调整受影响的列样式通过.../PM 数字格式样式的单元格有误问题,解决 issue #1338修复部分情况下删除批注时由于数组下标越界导致的 panic,解决 issue #1343修复部分情况下读取单元格的值时出现 panic...修复向工作表添加图片后,获取该图片内容为空的问题修复部分情况下插入行列后生成的工作簿损坏问题删除单元格公式时将删除公式计算链中的共享单元格引用,以修复部分情况下生成的文档损坏问题修复部分情况下未对工作表名称特殊字符及长度做正确处理的问题...,解决 issue #1328修复部分情况下公式函数 OR 计算结果有误的问题修复在带有单一单元格区域引用的工作表中插入行列时,将收到异常的问题修复获取带有单一单元格区域引用合并单元格区域时,收到异常的问题修复部分情况下读取富文本单元格的值不完整问题修复流式写入时未转义

1.7K131
  • Xamarin.Forms入门-使用 Xamarin.Forms 来创建跨平台的用户界面

    的项目 · 如何使用Xamarin.Forms的控件 · 如何在页面之间进行导航 · 如何进行数据绑定 系统需求 iOS : 由于Apple限制iOS应用程式编译都需要透过Xcode, 因此需要1台MAC...Forms开始编程 开发人员可以在Xamarin Studio和Visual Studio中创建 Xamarin.Forms的项目,有四种项目类型可以选择: Portable Library:用于代码共享的类库...= new DataTemplate(typeof(EmployeeCell)); 使用XAML构建自定义单元格 的堆栈结构,展现一个页面相当于在堆栈中添加一个元素,如果需要回到前一个页面,就需要把当前的页面从堆栈中删除。...Xamarin.Forms 来构建跨平台的应用,我们从如何安装 Xamarin.Forms,到如何创建一个 Xamarin.Forms 项目,如何构建用户界面,如何进行数据绑定以及如何切换页面。

    13K70

    Excelize 开源基础发布 2.8.1 版本,2024 年首个更新

    、表格名称和数据透视表名称中使用点字符删除工作表中的表格时,将保留表格区域全部单元格的值支持读取带有分数数字格式的单元格删除图片时,如果图片仅有一处引用,将同时从工作簿内部删除对应的图片文件,以减少生成工作簿的体积并消除由此产生的潜在安全风险支持为批注框设置自定义宽度和高度插入或删除行列时...AutoFilter 函数添加自动过滤器时出现的 panic修复部分情况下在工作表中添加表格导致的工作表损坏问题修复部分情况下读取带有时间类型数字格式单元格的值有误的问题支持计算字符型公式单元格的值修复在带有单元格表格的工作簿中添加表格时...,自定义数字格式索引生成有误的问题修复通过删除后再添加表格方式更新表格区域范围时出现错误的问题修复在使用流式读取函数后,所产生的临时文件无法被清理的潜在问题修复部分情况下公式计算结果有误的问题修复并发读取单元格的值时出现的竞态问题修复根据样式索引获取样式定义时...panic 的问题修复了删除行之后合并单元格有误的问题修复了 SetConditionalFormat 函数在创建带有多规则条件格式时,规则优先级有误的问题修复了 GetConditionalFormats...CalcCellValue 函数时,开启 RawCellValue 选项失效的问题性能优化提高了添加与删除数据透视表和图片的性能降低了修剪单元格时的内存占用其他Go Modules 依赖模块更新单元测试与文档更新包含简体中文

    23510

    Excelize 发布 2.4.1 版本,新增并发安全支持

    XML 命名空间兼容性,修复部分情况下生成文档损坏的问题 兼容带有非标准页面布局属性数据类型的电子表格文档,避免打开失败的问题 增加内部共享字符表计数 解除通过给定的时间设置单元格的值时,需要协调世界时...问题修复 修复部分情况下 12/24 制小时时间格式解析异常的问题,解决 issue #823 和 issue #841 修复部分情况下无法通过 GetComments 获取批注的问题,解决 issue...#825 修复设置和获取批注时支持多个批注作者,解决 issue #829 和 #830 修复命名空间地址解析异常而产生重复命名空间,导致删除再创建同名工作表后的生成文档损坏问题,解决 issue #834...,解决 issue #842 修复部分情况下获取获取单元格的值时,未返回带有公式的空单元格的问题,解决 issue #855 修复部分情况下 IF 公式条件运算错误问题,解决 issue #858 修复通过...GetRowHeight 获取行高度错误的问题 修复部分情况下因范围解析异常导致获取和删除自定义名称错误的问题,解决 issue #879 修复设置自定义名称时关联工作表索引错误的问题 修复设置列样式时已有单元格样式未被更新的问题

    1.4K11

    Excelize 开源基础库 2.9.0 版本正式发布

    DeleteSlicer 和 GetSlicers 支持删除和获取切片器,相关 issue #810新增函数 MoveSheet 支持移动工作表在工作簿中的位置,相关 issue #1076数据类型...,自动过滤器在 LibreOffice 中失效的问题,解决 issue #1830修复 v2.8.1 中引入的问题,删除行列时支持调整带有多重单元格引用的数据验证,解决 issue #1831修复 v2.8.1...,数据验证规则中的部分字符被不正确地转义问题修复流式写入单元格的值时,部分字符无法正确显示的问题,解决 issue #1865保存工作簿时将对内部部件排序,以获得一致的文件哈希值和正确的互联网媒体类型,...的问题,解决 issue #1969修复部分情况下读取带有数字格式单元格的值时,百分比符号丢失的问题,解决 issue #1942修复带有负数值的散点图水平坐标轴不现实的问题修复因删除行列而调整图片、...图表、形状等绘图对象位置后,与形状相关联的宏丢失的问题,解决 issue #1957修复部分情况下删除列后,条件格式丢失的问题,解决 issue #1968修复部分情况下读取数值单元格的值精度有误的问题

    11421

    TDesign 更新周报(2022年11月第1周)

    #1689修复吸顶表头超出省略问题,issue#1639提高 dragSortOptions 优先级,以便父组件自定义全部参数,tdesign-react#1556修复表格可编辑单元格的验证错误不能被正常清除问题...,issue#1637本地分页表格中,使用拖拽排序,数据交换结果不正确,issue#1342Dialog: 修复参数 footer = false 时,footer 节点仍然渲染的问题 @huangpiqiao...(#1716)Collapse: 修复ExpandIcon的实现 @asbstty (#1717)Calendar: 调整日历组件单元格外层 DOM 样式,修复在使用 cellAppend 插槽后可能样式会有异常的问题...#1931)Dropdown: 修复无法使用 v-for 渲染 item 的异常 @uyarn (#1936)修复在 JSX 中使用有告警的异常 @uyarn (#1936)Form: 修复 onBlur...(#1638)Input: 输入框达到数量 maxlength 时,无法删除且无法修改输入框内容,issue#1633 @chaishi (#1635)修复聚焦的时候未恢复 format 之前的值问题

    1.7K20

    WPF是什么_wpf documentviewer

    其它自定义View 三、结语 一、前言 项目中要用到一个数据分页栏,虽然自己没有实现过,但凭经验感觉它和ListBox/ListView有关。...可以动态的增、删、替换和重新排列,这些都是GridView内置的功能 不过,GridView不能直接更新它显示的数据。 下面示例展示了如何定义一个显示employee类型数据的GridView。...你还可以定义用户单击列标题时响应的事件处理程序。事件处理程序可以执行类似于根据列内容对显示在GridView中的数据进行排序的操作。...通过单击列标题按钮与列交互 当用户单击列标题按钮时,如果你提供了排序算法,则可以对列中显示的数据进行排序。 你可以自定义标题按钮的Click事件,以便提供排序算法之类的功能。...其它自定义View GridView类派生自ViewBase抽象类,它只是ListView类的视图模式之一。你可以通过派生自ViewBase类来为ListView创建其它自定义的View。

    4.7K20

    Smobiler 4.4已正式发布!(Smobiler能让你在Visual Studio上开发APP)

    mod=view&aid=53 这次更新要感谢我们的用户,在使用smobiler的过程中不吝反馈,同时我们的程序员也及时响应用户提出的新增、优化、修复等内容。...2, 修复ToolBar中点击事件会触发两次的问题。 3, 修复FontIcon取消选择时默认显示adjust的问题。...4, 修复GridView与ListView中Head、Foot的在没有数据时不显示的问题。...7, 修复设计器撤销控件更改时,控件丢失的问题。 8, 修复iOS版中,滚动panel中TextBox弹出键盘异常的问题。 9,  修复ListView没有行项时使用NewData报错问题。...10, 修复了WebView中使用IP地址无法加载的问题。 其他更新: 1, Smobiler Cloud上新增了应用名称可用字符的提示。 2, 开放硬件R100的所有按键自定义。

    1.9K20

    Excelize 开源基础库 2.8.0 版本正式发布

    自 2016 年开源以来已成为云原生应用尤其是 Go 语言开发者在处理电子表格办公文档时的热门选择,正在被广泛应用于大型互联网公司、中小企业客户和初创公司。...函数 NewConditionalStyle 支持创建带有数字格式与保护属性的条件格式样式,相关 issue #1610兼容性提升添加对带多字节文本的单元格字符长度检查,相关 issue #1517当创建带有重复名称的表格或自定义名称时...,读取带有数字格式的文本单元格时,读取结果有误的问题,解决 issue #1523, #1528 和 #1533修复了并发安全函数中存在的竞态问题修复了部分情况下,对与单元格时间毫秒舍入精度结果有误的问题修复了部分情况下...,解决 issue #1599修复部分情况下,带有跨工作表单元格引用公式计算结果有误的问题修复部分情况下,删除行后,工作表中的表格调整结果异常的问题,解决 issue #1539支持读取单元格中的多张图片...,解决 issue #1548修复部分情况下,因读取图形对象位置有误导致的添加图片结果异常问题,解决 issue #1560删除行列时支持调整公式,修复部分情况下导致的文档损坏问题,解决 issue #1565

    43361

    开始使用-编写你的第一个Flutter应用程序 顶

    每次单击热重新加载或保存项目时,都会在正在运行的应用程序中随机选择不同的单词对。...当用户滚动时,ListView小部件中显示的列表将无限增长。 ListView的builder工厂构造函数允许您根据需要懒惰地构建列表视图。...此方法构建显示建议词对的ListView。 ListView类提供了一个构建器属性itemBuilder,一个指定为匿名函数的工厂构建器和回调函数。...在Flutter中,导航器管理包含应用程序路由的堆栈。 将路由推入导航器的堆栈,将显示更新为该路由。 从导航器的堆栈中弹出路由,将显示返回到前一个路由。...1.向RandomWordsState的构建方法中的AppBar添加列表图标。 当用户点击列表图标时,包含收藏夹项目的新路线被推送到导航器,显示该图标。

    9.5K20

    TDesign 更新周报(2022年7月第1周)

    number 规则校验不生效的问题Table:动态数据合并单元格,删除行数据时,未更新合并单元格状态修复自定义筛选组件不显示问题ColorPicker: 修复颜色选择器样式异常ConfigProvider...Slider: 使用 InputNumber 时在使用 range 属性情况下传入 min 或 max 会导致手动输入显示 NaN 问题Select: 修复多选下换行提前占满一行的问题Select: 修复...选中子节点时,会导致父节点自动折叠问题Table: 修复合并单元格,动态数据显示异常问题、Table: 可编辑功能,数据更新不及时问题Cascader: 修复数据中 value 的数据类型为 number...时,clearable 失效Dialog: 修复滚动失效问题select: 修复多选下换行提前占满一行的问题Upload: 修复 disabled 依然可删除问题colorPicker: 修复在 ColorTrigger...Picker开发的级联选择组件新增columns,代表配置每一列的选项;新增renderLabel,用于自定义渲染label;新增onPick,选中任何一列时均会触发修改onChange

    2.3K10

    Excelize 2.4.0 正式版发布, 新增 152 项公式函数支持

    ,不再为单元格设置空白字符串而以空值代替,解决 issue #756 移除内部处理单元格填充颜色样式时冗余的 XML 可选空值解析标识 提升与 Google Sheets 离线浏览器扩展应用程序的兼容性...,修复部分情况下复制行导致的文档损坏问题,解决 issue #774 删除工作表时增加对名称的处理,解决 issue #775 修复内部函数 newFills 和 parseToken 圈复杂度过高的问题...修复对工作表默认自定义行高的检查 修复取消工作表中全部合并单元格时导致文档损坏的问题, 解决 issue #782 修复部分情况下筛选条件部分丢失的问题 修复当工作簿包含图表工作表、对话工作表时,UpdateLinkedValue...产生错误的问题 修复部分情况下 GetColWidth 返回默认列宽错误的问题 修复无法通过 Excel 电子表格应用程序向创建的数据透视表中添加时间轴与切片器的问题,解决 issue #804 设置名称时内部的...API 将导致流式写入的丢失问题,解决 issue #813 修复负值图表数据系列填充颜色丢失问题 性能优化 提高了数值精度处理速度 其他 Go Modules 依赖模块更新 单元测试与文档更新

    2.1K71

    TDesign 更新周报(2022年12月第1周)

    事件参数返回的数据不正确问题序号列支持跨分页显示 tdesign-vue-next#2072修复分页场景下,设置 max-height 和 bordered 之后,边框线位置不正确 issue#2062...,仅选中当前页数据,切换分页时清空选中结果,全选仅选中当前页数据 @chaishi (#2074)Calendar: 日历组件支持多个高亮单元格; @PsTiu (#2075) Bug FixesTable...)修复 onRemove 事件参数未能返回最新 value 问题 @chaishi (#2087)修复拼音输入时按下 Enter 触发标签确认问题 @chaishi (#2087)修复拼音输入时按下删除键触发标签删除问题...#1745)Message: 修复在 offset 不存在时 style 生效 @kenzyyang (#1762)TreeSelect: 修复 valueDisplay 清空按钮不展示问题 @honkinglin...panel 时闪烁的问题 @LeeJim (#1093)Result: 修复装饰性图标获取焦点的问题 @aomnisz (#1082)Tabs: 修复 placement='left' 时,面板内容不显示问题

    2.2K30

    Python Qt GUI设计:QTableView、QListView、QListWidet、QTableWidget、QTreeWidget和QTreeWidgetltem表格和树类(提升篇—1)

    1、QTableView类 2、QListView类 3、QListWidet类 4、QTableWidget类 5、QTreeWidget和QTreeWidgetltem类 ---- 表格与树解决的问题是如何在一个控件中有规律地呈现更多的数据...在QtableView中可以使用自定义的数据模型来显示内容,通过setModel来绑定数据源。...QTableView控件可以绑定一个模型数据用来更新控件上的内容,可用的模式如下表所示: 通过示例了解QTableView类的使用方法,效果如下所示: 实现代码如下所示: from PyQt5.QtWidgets...使用QTableWidget时就需要QTableWidgetltem,用来表示表格中的一个单元格,整个表格就是用各单元格构建起来的。...QTableWidget类中的常用方法如下表所示: 编辑规则的枚举值类型如下表所示: 表格的选择行为的枚举值类型如下表所示: 单元格文本的水平对齐方式如下表所示: 单元格文本的垂直对齐方式如下表所示

    3.9K30

    学习LAMBDA函数:将Excel公式转换为自定义函数(下)

    下面将展示一个示例,说明如何利用它来构建以前不需要编写脚本就无法实现的东西。..."-",B3)))-1) 这种方式有两个挑战: 1.错误-如果在逻辑中发现需要修复的错误,必须返回并在使用它的每个地方更新它,这样可能会漏掉一些。...如果我发现这个错误并想修复它,那么需要返回到使用该逻辑的每个单元格并更新它。...IF语句表示,如果没有更多想移除的字符,则返回输入textString,否则删除想移除字符中最左边的每个字符。递归开始,请求使用更新的字符串再次调用REPLACECHARS,并调用其余的想移除字符。...2.数据类型–存储在单元格中的值不再只是字符串或数字。单个单元格可以包含丰富的数据类型和大量属性。 函数可以将数据类型和数组作为参数,也可以将结果作为数据类型和阵列返回。构建的lambda也是如此。

    2.5K80

    TDesign 更新周报(2022年6月第1周)

    theme = column时设置 align 失效的问题Table: 修复表头多选框无法居中和居右展示的问题修复无法在 SSR 场景下使用的问题Others官网: 支持在线配置组件库主题详情见:https...Dropdown: 修复通过插槽方式渲染点击事件 data 参数不正确Radio: 修复 Group 模式下 allowUncheck 显示错误Cascader: 修复 options 异步获取无法选择任意级的选项...InputNumber: 修复必填问题Button: 修复ref应用错误的问题Swiper: 动态列表渲染问题Table: 可编辑单元格,使用日期选择器时,切换月份也会导致退出编辑模式Form: 修复...的聚焦样式丢失的问题Form: 修复 addon 在 form 表单下数据劫持失败问题Select: 当 multiple 为 true 的时候,筛选(filter)功能无法关闭Menu: 兼容 menu.../Tencent/tdesign-mobile-vue/releases/tag/0.8.6解决方案及周边TDesign Starter CLI 发布 0.2.3Bug Fixes修复自定义创建项目时图标加载的问题详情见

    1.1K20

    JavaFX 11发行说明

    添加API以自定义Spinner控件的步骤重复计时 在JavaFX 11中修改值步骤之前,必须在Spinner控件箭头按钮上按下鼠标的默认持续时间。...TabPane中不可编辑的ComboBox上的NPE 控制 JDK-8187432 ListView:启动时EditEvent的索引不正确 控制 JDK-8192800 表自动调整大小会忽略列调整大小策略...控制 JDK-8193311 [Spin​​ner]在ENTER上未激活默认按钮 控制 JDK-8193495 快速删除和添加操作后,TabPane不会正确更新标题区域中的选项卡位置 控制 JDK-8194913...JDK-8201285 重复使用具有disable = true的DateCell时,DateCell文本颜色未正确更新 控制 JDK-8208610 在FXMLLoader :: getDefaultClassLoader...删除对applet和Java Web Start的引用 其他 JDK-8200587 修复FX API文档中的错误 其他 JDK-8202036 更新OpenJFX许可证文件以匹配OpenJDK 其他

    6.7K60
    领券