data class Goods(var name: String, var price: Double = 0.0)
val tableData = mapOf(
"水果" to arrayOf("苹果", "梨", "香蕉").map { Goods(it, (1..10).random() * 1.0) },
"蔬菜" to arrayOf("大豆", "花菜", "土豆").map { Goods(it, (1..10).random() * 1.0) },
"肉类" to arrayOf("牛肉", "猪肉", "羊肉").map { Goods(it, (1..10).random() * 1.0) }
)
treetableview<Goods> {
column("商品名称", Goods::name){
minWidth=200.0
}
column("价格", Goods::price){
minWidth=200.0
}
root = TreeItem(Goods("商品"))
populate { parent ->
parent.isExpanded=true
if (parent == root) tableData.keys.map {
Goods(it).apply {
// 将每个商品分类下的具体商品价格进行求和
this.price = tableData[this.name]?.sumByDouble { it.price } ?: 0.0
}
}
else tableData[parent.value.name]
}
resizeColumnsToFitContent()
minWidth=500.0
}
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。