如何禁用TornadoFx表格视图中列的大小调整?

时间:2019-01-29 01:16:52

标签: kotlin tornadofx

我在表格视图中有几列,并且希望它们的宽度在视图扩展时保持不变。使用maxWidth = minWidth = 120.px似乎很简单。我的问题是我也想完全禁止用户调整列的大小。这是我到目前为止的内容:

tableview(model) {
    smartResize()
    column("DATE", Model::date) {
        isResizable = true // This is where it seems to work
        style {
            minWidth = 120.px
            prefWidth = 120.px
        }
        cellFormat {
            graphic = cache(rowItem.id) {
                datepicker(rowItem.dateProperty) {
                    style {
                        textAlignment = TextAlignment.CENTER
                            maxWidth = 200.px
                    }
                }
            }
        }
    }
    column("LAME/\nWCO", RWADetail::lameWco).makeEditable().style {
        alignment = Pos.CENTER
    }
    column("DESCRIPTION", RWADetail::description).makeEditable().remainingWidth().style {
        alignment = Pos.CENTER_LEFT
    }
}

但是,这会导致奇怪的结果,其中下面的空行具有不同的宽度。 这是结果日期列的片段,其中空行的大小不一致:

enter image description here

我在正确的轨道上吗?

1 个答案:

答案 0 :(得分:0)

好像我回答了我自己的问题:诀窍是称为fixedWidth(200)的TornadoFx方法。以下是我修改的代码

tableview(model) {
    smartResize()
    column("DATE", Model::date) {
        style {
            fixedWidth(120)
        }
        cellFormat {
            graphic = cache(rowItem.id) {
                datepicker(rowItem.dateProperty) 
            }
        }
    }
    column("LAME/\nWCO", RWADetail::lameWco).makeEditable().style {
        fixedWidth(120)
        alignment = Pos.CENTER
    }
    column("DESCRIPTION", RWADetail::description).makeEditable().remainingWidth().style {
        fixedWidth(120)
        alignment = Pos.CENTER_LEFT
    }
}