我在用 jComboBox
从表中选择供应商,因此我创建了-1 id
表中“无”所选供应商的行。
-用户还看到了一行,我在其中获取了所有记录 jTable
.
我不希望用户删除这一行可能是意外或有意识的。
我可以要这样的吗?
我正在使用mysql和java。
String comName = (String) jSupplrsComboBox.getSelectedItem();
Suppliers suppliers = manager.searchSuppCompny(comName);
if (comName.equals("none")) {
receivings.getSuppliers().setId(-1);
receivings.setSuppliers(suppliers);
}
receivings.setSuppliers(suppliers);
取来 Suppliers
至 jComboBox
只需手动添加“无”文本,使其在中不匹配 Suppliers
table。
2条答案
按热度按时间nx7onnlm1#
我自己也试过了,在检索记录的时候我修改了代码:
在第一行-1之后检索记录
id
在数据库表中。塔恩克斯。
kyks70gy2#
我不确定你到底想达到什么目的,但如果你利用
JComboBox
,我想您正在按组合框选择所指示的供应商筛选数据库。这也意味着组合框模型需要填充数据库中存在的条目。这是一种将字符串从枚举设置到组合框的快速方法,从数据库传递条目也应该以类似的方式工作,但可能需要解决确保不存在重复的问题
从jcombobox中的链接java复选框来看,jonathanfeinberg的响应可能更适合于多个过滤器。
至于mysql,我假设您有权进行修改,最好添加一个额外的字段,比如isvalid,来指示所述条目是否有效。在这种情况下,你可以过滤
jSupplrsComboBox.getSelectedItem()
额外的WHERE isValid = 1
. 但是你的问题更倾向于java而不是mysql,所以我就不多提了。查看mysql boolean question和相关链接了解更多关于这个问题的信息。