如何通过 TextField 过滤 csv 中的数据
我已经在 GUI 中添加了一个文本字段,如果输入了名称,我希望它能够过滤主机名。例如:“Amy”会在ListCell 中显示csv 文件中所有Amy 租房的情况。我添加了一个方法 searchByHost() ,我想在其中执行此操作。
这是我的代码:
public class ListingsController
{
private ObservableList<String> comboBoxList = FXCollections.observableArrayList("Host Name: A-Z",
"Host Name: Z-A", "Price: Low to High", "Price: High to Low", "No of Reviews: Low to High",
"No of Reviews: High to Low");
private List<AirbnbListing> propertyArrayList;
private ObservableList<AirbnbListing> propertyList;
private SortedList<AirbnbListing> sortedList;
public TextField inputHostName;
@FXML
private ComboBox<String> comboBox;
@FXML
private ListView<AirbnbListing> listingsList;
@FXML
private TextField searchField;
private String name;
private String min;
private String max;
// TODO: remove at some point
public void initialize()
{
public void setListings(List<AirbnbListing> listings)
{
listingsList.getItems().addAll(listings);
}
public void displayListing(AirbnbListing listing)
{
if (listing == null)
return;
System.out.println(listing);
}
}
我在网上看到的所有示例都使用过滤器和可观察列表,但我认为我不需要它。
I've added a textfield to my GUI and I want it to filter through the host names if a name in inputed. E.g.: "Amy" would display all the Amy's in the csv file renting a house in the ListCell. I've added a method searchByHost() where I'd like to do it.
Here is my code:
public class ListingsController
{
private ObservableList<String> comboBoxList = FXCollections.observableArrayList("Host Name: A-Z",
"Host Name: Z-A", "Price: Low to High", "Price: High to Low", "No of Reviews: Low to High",
"No of Reviews: High to Low");
private List<AirbnbListing> propertyArrayList;
private ObservableList<AirbnbListing> propertyList;
private SortedList<AirbnbListing> sortedList;
public TextField inputHostName;
@FXML
private ComboBox<String> comboBox;
@FXML
private ListView<AirbnbListing> listingsList;
@FXML
private TextField searchField;
private String name;
private String min;
private String max;
// TODO: remove at some point
public void initialize()
{
public void setListings(List<AirbnbListing> listings)
{
listingsList.getItems().addAll(listings);
}
public void displayListing(AirbnbListing listing)
{
if (listing == null)
return;
System.out.println(listing);
}
}
All the examples I've seen online use a filter an observable list however I don't think I'd need that.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我使用这个将它们放在一起。它使用
SortedList
按主机名排序,并使用FilteredList
按主机名返回搜索结果。我没有实施其他选项。其他选项应该与主机名非常相似。I put this together using this. It uses a
SortedList
to sort by the host name and uses aFilteredList
to return search results by host name. I did not implement the other options. The other options should be very similar to host name.