如何在javafx中以编程方式勾选listview复选框listcell的复选框

时间:2017-01-22 13:21:09

标签: javafx

This is my app

我正在使用mongodb。 对于其他类型的字符串,int等,我可以轻松地存储和读取db中的数据。但是对于列表视图,我有一个文档,它有两个键:标题和已完成。 完成后存储tick的布尔值(checkbox listcell)。 但我找不到这样的方式: 1保存db中的tick(tick或unticked)。 [2]在app启动期间手动设置滴答(我使用db来防止关闭app后数据丢失)

<ItemsControl x:Name="icName" MouseDown="icName_MouseDown" >
    <ItemsControl.ItemTemplate>
        <DataTemplate>
            <Button x:Name="btnName" Content="Button" IsEnabled="False" Tag="{Binding ItemName}"></Button>
        </DataTemplate>
    </ItemsControl.ItemTemplate>
</ItemsControl>

//这里asList是ListView

1 个答案:

答案 0 :(得分:1)

selectedStateCallback将列表视图中的每个元素映射到双向绑定到复选框的选定状态的BooleanProperty。因此,要选中或取消选中该复选框,您需要将BooleanProperty分别设置为true或false。

在您的代码中,您不会对您为此创建的BooleanProperty保留任何引用,因此您没有机会更改其状态。

最好的方法是创建一个表示文档的类,具有titlecompleted属性。使用completed表示BooleanProperty属性,并从selectedStateCallback提供该属性。将ListView设为ListView<Document>,然后您只需设置completed的{​​{1}}状态,相应的复选框就会更新。

SSCCE:

Document