java swing 下拉列表级联
现在第一个下拉列表只有一个选项其它选项看不到,求高手帮忙修改一下,第一个下拉列表选了XX系后,第二个下拉列表自动变成XX系的专业,第三个下拉列表是专业的班privatev...
现在第一个下拉列表只有一个选项其它选项看不到,求高手帮忙修改一下,第一个下拉列表选了XX系后,第二个下拉列表自动变成XX系的专业,第三个下拉列表是专业的班
private void initialData() {
try {
this.initialConnection();// 初始化数据库连接
// 查询数据库获得当前用户所属学院的名称
String sql1 = "select coll_name from college where coll_id='" + coll_id + "'";// 拼装SQL语句
rs = stmt.executeQuery(sql1);// 执行查询
while (rs.next()) {// 获得数据
String coll_name = new String(rs.getString(1).getBytes("gb2312"));// 对得到信息转码
jcb[4].addItem(coll_name);// 将名称添加进下拉列表
}
rs.close();// 关闭结果集
String sql2 = "select dept_name,dept_id from dept where coll_id='" + coll_id
+ "'";// 拼装SQL语句
rs = stmt.executeQuery(sql2);// 执行查询
while (rs.next()) {// 遍历结果集
String dept_name = new String(rs.getString(1).getBytes("gb2312"));// 转码
String dept_id = rs.getString(2);// 获得名称及id
map_dept.put(dept_name, dept_id);// 放入Map
}
rs.close();// 关闭结果集
Set keyset = map_dept.keySet();// 获得键值
Iterator ii = keyset.iterator();// 得到迭代器对象
int i = 0;
String initial_dept_name = null;// 声明initial_dept_name引用
while (ii.hasNext()) {// 遍历结果集
// 根据各个专业号获得该专业班的信息存入map_class
String dept_name = (String) ii.next();
if (i == 0) {
initial_dept_name = dept_name;
}
jcb[5].addItem(dept_name);// 添加班级名称进下拉列表
String dept_id = map_dept.get(dept_name);// 获得专业号
String sql3 = "select class_id,class_name from class where dept_id='"
+ dept_id + "'";// 拼装SQL语句
rs = stmt.executeQuery(sql3);// 执行查询
Map class_map = new HashMap();// 创建班级的Map对象
while (rs.next()) {// 遍历结果集
String class_id = rs.getString(1);// 得到班级id
String class_name = new String(rs.getString(2).getBytes("gb2312"));// 转码
class_map.put(class_name, class_id);// 放入Map集合
}
rs.close();// 关闭结果集
map_class.put(dept_id, class_map);
i++;// i自加
}
this.closeConn();// 关闭数据库连接
jcb[5].setSelectedItem(initial_dept_name);// 设置各下拉列表的初始值
String initial_dept_id = map_dept.get(initial_dept_name);
Map classmap = (HashMap) map_class.get(initial_dept_id);
Set keyset1 = classmap.keySet();// 得到键值集合
Iterator ii1 = keyset1.iterator();// 得到迭代器对象
while (ii1.hasNext()) {// 将班放入下拉列表
String s = (String) ii1.next();// 得到班级名称
jcb[6].addItem(s);// 将班级添加进下拉列表
}
} 展开
private void initialData() {
try {
this.initialConnection();// 初始化数据库连接
// 查询数据库获得当前用户所属学院的名称
String sql1 = "select coll_name from college where coll_id='" + coll_id + "'";// 拼装SQL语句
rs = stmt.executeQuery(sql1);// 执行查询
while (rs.next()) {// 获得数据
String coll_name = new String(rs.getString(1).getBytes("gb2312"));// 对得到信息转码
jcb[4].addItem(coll_name);// 将名称添加进下拉列表
}
rs.close();// 关闭结果集
String sql2 = "select dept_name,dept_id from dept where coll_id='" + coll_id
+ "'";// 拼装SQL语句
rs = stmt.executeQuery(sql2);// 执行查询
while (rs.next()) {// 遍历结果集
String dept_name = new String(rs.getString(1).getBytes("gb2312"));// 转码
String dept_id = rs.getString(2);// 获得名称及id
map_dept.put(dept_name, dept_id);// 放入Map
}
rs.close();// 关闭结果集
Set keyset = map_dept.keySet();// 获得键值
Iterator ii = keyset.iterator();// 得到迭代器对象
int i = 0;
String initial_dept_name = null;// 声明initial_dept_name引用
while (ii.hasNext()) {// 遍历结果集
// 根据各个专业号获得该专业班的信息存入map_class
String dept_name = (String) ii.next();
if (i == 0) {
initial_dept_name = dept_name;
}
jcb[5].addItem(dept_name);// 添加班级名称进下拉列表
String dept_id = map_dept.get(dept_name);// 获得专业号
String sql3 = "select class_id,class_name from class where dept_id='"
+ dept_id + "'";// 拼装SQL语句
rs = stmt.executeQuery(sql3);// 执行查询
Map class_map = new HashMap();// 创建班级的Map对象
while (rs.next()) {// 遍历结果集
String class_id = rs.getString(1);// 得到班级id
String class_name = new String(rs.getString(2).getBytes("gb2312"));// 转码
class_map.put(class_name, class_id);// 放入Map集合
}
rs.close();// 关闭结果集
map_class.put(dept_id, class_map);
i++;// i自加
}
this.closeConn();// 关闭数据库连接
jcb[5].setSelectedItem(initial_dept_name);// 设置各下拉列表的初始值
String initial_dept_id = map_dept.get(initial_dept_name);
Map classmap = (HashMap) map_class.get(initial_dept_id);
Set keyset1 = classmap.keySet();// 得到键值集合
Iterator ii1 = keyset1.iterator();// 得到迭代器对象
while (ii1.hasNext()) {// 将班放入下拉列表
String s = (String) ii1.next();// 得到班级名称
jcb[6].addItem(s);// 将班级添加进下拉列表
}
} 展开
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询