我试图在TableView中实现以下内容:
prod_name | prod_comment | ... | kcal | kjoule |
--------------------------------------------
name | hi | | 1.5 | 5
name | hi | | 2.0 | 7
这些是我使用的模型:
Product (holds things like name,comment etc)
Nutrient (holds the kcal, kjoule strings etc)
Product_Nutrient (holds the amounts of kcal, kjoule etc for every product)
我目前拥有的是一个DAO(和一个单独的模型)层,它连接所有这些表,并以如上所述的格式返回它们,但对于这个项目,它不允许使用SQL连接(学校项目)。我不认为这会成为一个问题,但现在是了。
我还尝试将三个模型作为列表包装到一个模型中,但我不确定如何保持模型之间的关系,以及如何在TableView
中显示它们。(与此处所示相同)
如果有什么不清楚的,请告诉我,以便我可以添加更多信息。
编辑;
为了澄清一些问题:
某些< code >产品可能不包含< code >产品营养素中的所有< code >营养素
例如:
prod_id | nutrient_id | amount |
1 1 0.0
1 2 5.1
2 1 1.4
3 1 0.2
3 2 0.0
这里<code>prod_id</code>2没有<code>nutrient_id</code>2,因为<code>0.0</code>不同于不存在。
编辑:
模型:
public class ProductModel {
private String name;
private int prod_code;
....
//getters/setters
}
public class ProductNutrientModel {
private double amount; // amount of the nutrient linked to a product
private int prod_code;
private int nutrient_id;
....
//getters/setters
}
public class NutrientModel {
private int nutrient_id;
private String name; // names of the nutrients
....
// Nutrient holds no amount
//getters/setters
}
我会将类定义为
public class Product {
private int id ;
private String name ;
private String comment ;
// constructor and get methods
}
public class Nutrient {
private int id ;
private String name ;
private double kcal ;
// ...
}
public class ProductNutrientContent {
private Product product ;
private Nutrient nutrient ;
private double quantity ;
// ...
}
不能使用内部联接的要求是相当人为的,但只要数据库不太大,就可以使用三个查询来获取< code>ProductNutrient对象的列表,如下所示:
Map<Integer, Product> productsById ;
Map<Integer, Nutrient> nutrientsById ;
List<ProductNutientContent> productNutrientContents ;
// query product table, for each row in the result set do:
Product product = new Product(/* data from result set row */);
productsById.put(product.getId(), product);
// similarly populate nutrientsById...
// query join table, for each row in join table do:
int productId = ... ; // productId from row in result set
int nutrientId = ... ; // nutrientId from row in result set
double quantity = ... ; // quantity from row in result set
ProductNutrientContent content
= new ProductNutrientContent(productsById.get(productId), nutrientsById.get(nutrientId), quantity);
productNutrientContents.add(content);
现在,您可以使用列表填充表。对于表列,只需做以下显而易见的事情:
TableColumn<ProductNutrientContent, String> productNameColumn = new TableColumn<>("Product");
productNameColumn.setCellValueFactory(cellData ->
new SimpleStringProperty(cellData.getValue().getProduct().getName()));
TableColumn<ProductNutrientContent, Number> kcalColumn = new TableColumn<>("kcal");
kcalColumn.setCellValueFactory(cellData ->
new SimpleDoubleProperty(cellData.getValue().getNutrient().getKcal()));
TableColumn<ProductNutrientContent, Number> quantityColumn = new TableColumn<>("Quantity");
quantityColumn.setCellValueFactory(cellData ->
new SimpleDoubleProperty(cellData.getValue().getQuantity());
我有一个带有表视图的Xib(我使用的是Xib而不是常规的故事板,因为我将Xib插入到UIPageView控制器中)。在 Xib 的类中,我注册了一个自定义表视图单元格。尽管单元格插入到表视图中,但它不会根据其约束正确调整大小,也不会更改表视图的显示。 这是我在视图控制器中的设置代码,它具有表视图xib:类 当我运行应用程序时,它看起来像这样: 所以基本上,自定义单元格是从xib文件添加到表格视图中
我希望我的swift代码在每次按下按钮时都添加一个新的tableview单元格。你可以在下面的gif中看到我想要的东西。这段代码应该在func-tableView(_tableView:UITableView,cellForRowAt-indexPath:indexPath)中添加按钮- 在此输入图像描述
我现在正在使用UITableView,我所拥有的是 我的类.h @ interface my class:UIViewController { } @property (strong,strong)ui label * name; @属性(strong,strong)UILabel*add; 和 我的班级.m -(NSInteger)tableView:(UITableView*)atableVi
我正在 swift 中为 iOS 编写一个应用程序,并且我有一个表格视图问题。此表的单元格内部有一个水平 stackView,其中包含三个包含不同长度文本的标签。我已经放置了所有约束,并且似乎可以自动调整单元格的高度,但我意识到了一些事情:它根据最短的限制自动调整单元格的高度。因此,它会截断较长的那个,如您在图像中看到的那样。请帮助我不知道如何解决它,我无法在线找到解决方案。 如何根据单元组件高度
问题内容: 我们正在测试中针对ORACLE 10g运行一个Java /hibernate应用程序。有时,我们会看到此错误: ORA-00942:表或视图不存在 有没有办法找出ORACLE在谈论哪个表/视图? 我知道我可以在hibernate中添加更多级别的日志记录,这将显示它在ORACLE上执行的所有SQL,然后运行该SQL以确定哪个TABLE / VIEW缺少或缺少权限。但是考虑到它是在“测试/
本文向大家介绍JS获取表格视图所选行号的ids过程解析,包括了JS获取表格视图所选行号的ids过程解析的使用技巧和注意事项,需要的朋友参考一下 这篇文章主要介绍了JS获取表格视图所选行号的ids过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 实例化数组 遍历所选行push到数组中 将数组join转换为以,分割的字符串 以上就是本文的全部内