1.7.4 供应商修改与删除实现过程
供应商修改与删除使用的数据表:tb_gysinfo。
(1)创建GysXiuGaiPanel类,用于实现本系统的供应商修改功能。在程序界面中有多个用于输入供应商信息的文本框,这些文本框的内容会根据所选供应商自动填充,修改部分或全部内容后,单击“修改”按钮将修改供应商数据。界面中定义的主要控件如表1.7所示。
(2)编写initComboBox()方法,用于初始化“选择供应商”下拉列表框。该方法调用Dao类的getGysInfos()方法获取数据库中所有的供应商信息,然后将供应商的ID编号和供应商名称封装成Item对象并添加到“选择供应商”下拉列表框中,在下拉列表框中Item的toString()方法将显示供应商的名称。initComboBox()方法的关键代码如下:
例程18 代码位置:光盘\TM\01\JXCManager\src\internalFrame\gysGuanLi\GysXiuGaiPanel.java
public void initComboBox() { //初始化供应商下拉列表框的方法
List gysInfo = Dao.getGysInfos(); //调用getGysInfos()方法获取供应商列表
List<Item> items = new ArrayList<Item>(); //创建Item列表
gys.removeAllItems(); //清除下拉列表框中原有的选项
for (Iterator iter = gysInfo.iterator(); iter.hasNext();) {
List element = (List) iter.next();
Item item = new Item(); //封装供应商信息
item.setId(element.get(0).toString().trim());
item.setName(element.get(1).toString().trim());
if (items.contains(item)) //如果 Items 列表中包含该供应商的封装对象
continue; //跳出本次循环
items.add(item);
gys.addItem(item); //否则添加该对象到下拉列表框中
}
doGysSelectAction(); //doGysSelectAction() 方法
}
(3)编写doGysSelectAction()方法,它在更改下拉列表框中的供应商信息时被调用,主要用于根据选择的供应商名称,把供应商的其他信息填充到相应的文本框中。关键代码如下:
例程19 代码位置:光盘\TM\01\JXCManager\src\internalFrame\gysGuanLi\GysXiuGaiPanel.java
private void doGysSelectAction() { //处理供应商选择事件
Item selectedItem;
if (!(gys.getSelectedItem() instanceof Item)) {
return;
}
selectedItem = (Item) gys.getSelectedItem(); //获取 Item 对象
TbGysinfo gysInfo = Dao.getGysInfo(selectedItem); //通过 Item 对象调用 getGysInfo() 方法获取供应商信息
quanChengF.setText(gysInfo.getName()); //填充供应商信息到文本框中
diZhiF.setText(gysInfo.getAddress());
jianChengF.setText(gysInfo.getJc());
bianMaF.setText(gysInfo.getBianma());
dianHuaF.setText(gysInfo.getTel());
chuanZhenF.setText(gysInfo.getFax());
lianXiRenF.setText(gysInfo.getLian());
lianXiRenDianHuaF.setText(gysInfo.getLtel());
EMailF.setText(gysInfo.getMail());
yinHangF.setText(gysInfo.getYh());
}