代码如下
- /**
- * 绑定下拉列表<br>
- * <br>
- * @param tmpDataProvider 数据提取器<br>
- * @param value 编号所对应的数据库字段名称
- * @param name 下拉列表第一项默认的名称
- * @return Option 返回绑定数据数组<br>
- */
- public Option[] DropList (CachedRowSetDataProvider tmpDataProvider, String value,String name) {
- try {
- // 刷新数据提取器
- tmpDataProvider.refresh();
- // 声明一个Object的数组
- Option[] nameOptionsList = null;
- // 初始化数组大小,默认大小为1
- int listSize = tmpDataProvider.getRowCount() +1;
- // 根据大小生成数组
- nameOptionsList = new Option[listSize];
- // 数组第一个元素为空,表示的名字
- Option opt = new Option("",name);
- // 初始化循环变量
- int i=0;
- // 第一次赋值
- nameOptionsList[i] = opt;
- // 判断数组是否为空
- if(listSize != 1) {
- // 当前数据提取器的第一个数据
- tmpDataProvider.cursorFirst();
- do {
- // 循环变量+1
- i++;
- // 获得查询数据编号说对应的名称
- String dbName = tmpDataProvider.getValue(value).toString().trim();
- // 获得查询数据编号
- String dbId = tmpDataProvider.getValue("ID").toString().trim();
- // 赋值给数组
- opt = new Option(dbId,dbName);
- // 数组赋值给返回数组
- nameOptionsList[i] = opt;
- } while (tmpDataProvider.cursorNext());
- }
- // 返回绑定数组
- return nameOptionsList;
- } catch (Exception ex) {
- throw new FacesException(ex);
- }
- }
代码调用如下:
//绑定部门下拉列表
this.dropDown15DefaultOptions.setOptions(comm.DropList(this.departmentDataProvider,"DEPARTNAME","请选择"));