@Bind(id = "grid", attribute = "selectionModel")
private static GridSelectionModel selectionModel = new CheckboxSelectionModel();
/**
* 动态生成表格
* @param dictionaryvo
*/
private void createGrid(DictionaryVo dictionaryvo)
{
columnModel = new GridColumnModel(); headerModel = new GridHeaderModel();
if(dictionaryvo !=null)
{
List<ColumnModel> columns = dictionaryvo.getColumns();
if(columns !=null&&columns.size()>0)
{
GridHeader gridHeader = new GridHeader();
for(int i=0;i<columns.size();i++)
{
ColumnModel colummodel = columns.get(i);
String value = "#{var.column"+i+"}";
GridColumn gridColumn = new GridColumn(colummodel.getName()).width(100).value(value);
columnModel.addColumn(gridColumn);
if(colummodel.getLabel()==null||colummodel.getLabel().equals(""))
{
GridHeaderCell gridheadercell = new GridHeaderCell(colummodel.getName());
gridHeader.addCell(gridheadercell);
}
else
{
GridHeaderCell gridheadercell = new GridHeaderCell(colummodel.getLabel());
gridHeader.addCell(gridheadercell);
}
}
headerModel.addHeader(gridHeader);
}
}
}
}
标记处动态的使datagrid每一行数据前都有一个checkbox,当选中某个或某些checkbox时在后台怎么获取选中的数据
谢谢,在线等
private static GridSelectionModel selectionModel = new CheckboxSelectionModel();
/**
* 动态生成表格
* @param dictionaryvo
*/
private void createGrid(DictionaryVo dictionaryvo)
{
columnModel = new GridColumnModel(); headerModel = new GridHeaderModel();
if(dictionaryvo !=null)
{
List<ColumnModel> columns = dictionaryvo.getColumns();
if(columns !=null&&columns.size()>0)
{
GridHeader gridHeader = new GridHeader();
for(int i=0;i<columns.size();i++)
{
ColumnModel colummodel = columns.get(i);
String value = "#{var.column"+i+"}";
GridColumn gridColumn = new GridColumn(colummodel.getName()).width(100).value(value);
columnModel.addColumn(gridColumn);
if(colummodel.getLabel()==null||colummodel.getLabel().equals(""))
{
GridHeaderCell gridheadercell = new GridHeaderCell(colummodel.getName());
gridHeader.addCell(gridheadercell);
}
else
{
GridHeaderCell gridheadercell = new GridHeaderCell(colummodel.getLabel());
gridHeader.addCell(gridheadercell);
}
}
headerModel.addHeader(gridHeader);
}
}
}
}
标记处动态的使datagrid每一行数据前都有一个checkbox,当选中某个或某些checkbox时在后台怎么获取选中的数据
谢谢,在线等
解决方案 »
- oracle 插入 LONG VARCHAR 类型数据
- ejb 调用remote服务, 高手请进
- java.lang.OutOfMemoryError: Java heap space
- 不显示删除回复显示所有回复显示星级回复显示得分回复 struts2实现文件下载点取消:报IllegalStateException,不取消文件可以被完整下载
- JAVA 如何使用类的方法
- 跪求struts和jbpm整合的实例~~
- 安装了tomcat。但是打不开http:127.0.0.1
- 请问hibernate中如何根据自类的类型进行排序
- 高手来救我啊,poi导出excel出错的问题(使用excel模板)!
- 谁讲讲xml events?急
- WEB調用excel的打印功能直接打印
- mina+spring MVC 程序打jar包问题
import java.util.ArrayList;
import java.util.List;import org.operamasks.faces.annotation.Action;
import org.operamasks.faces.annotation.BeforeRender;
import org.operamasks.faces.annotation.Bind;
import org.operamasks.faces.annotation.ManagedBean;
import org.operamasks.faces.annotation.ManagedBeanScope;
import org.operamasks.faces.annotation.ManagedProperty;
import org.operamasks.faces.component.grid.CheckboxSelectionModel;
import org.operamasks.faces.component.grid.GridColumn;
import org.operamasks.faces.component.grid.GridColumnModel;
import org.operamasks.faces.component.grid.GridHeader;
import org.operamasks.faces.component.grid.GridHeaderCell;
import org.operamasks.faces.component.grid.GridHeaderModel;
import org.operamasks.faces.component.grid.GridSelectionModel;
import org.operamasks.faces.component.grid.impl.UIDataGrid;
import org.operamasks.faces.component.grid.provider.GridDataProvider;
import org.operamasks.faces.component.html.impl.UIIFrame;
import org.operamasks.faces.component.layout.impl.UIWindow;import com.btcms.constants.SessionManager;
import com.btcms.dictionary.service.DictionaryManagerService;
import com.btcms.dictionary.vo.ColumnModel;
import com.btcms.dictionary.vo.DictionaryVo;
/**
*
* This managed bean is generated automatically
*/
@ManagedBean(name="dictionary.dictionaryContentBean", scope=ManagedBeanScope.SESSION)
public class DictionaryContentBean implements Serializable {
@ManagedProperty("#{dictionaryManagerService}")
private DictionaryManagerService service; @Bind
private UIDataGrid grid;
@Bind(id = "grid", attribute = "var")
private static String var = "var"; @Bind(id = "grid", attribute = "idColumn")
private static String idColumn = "schemeCode"; @Bind(id = "grid", attribute = "columnModel")
private static GridColumnModel columnModel; @Bind(id = "grid", attribute = "headerModel")
private static GridHeaderModel headerModel; @Bind(id = "grid", attribute = "selectionModel")
private static GridSelectionModel selectionModel = new CheckboxSelectionModel();
private List<DictionaryVo> dictionaries=new ArrayList<DictionaryVo>();
// 选择的字典
private DictionaryVo dictionaryvo = null;
// @ManagedProperty
// private Object[] selectedData; //获取所选择数据的值
@BeforeRender
private void beforerender(boolean ip)
{
dictionaryvo = (DictionaryVo)SessionManager.getSession("dic");
if(!ip)
{
dictionaries = service.getDictionaies();
if(dictionaryvo !=null)
{
service.setDictionaryVo(dictionaryvo);
createGrid(dictionaryvo);
}
else
{
DefaultGridModel();
}
}
}
@Bind(id = "grid", attribute = "dataProvider")
public <SortDirection> GridDataProvider getDataProvider() {
return new GridDataProvider() {
private Object[] objs; public Object[] getElementsById(String[] id) {
if (id == null || id.length == 0)
return new Object[0];
Long[] ids = new Long[id.length];
for (int i = 0; i < id.length; i++) {
ids[i] = Long.valueOf(id[i]);
}
return service.findByIds(ids).toArray();
} public Object[] getElements() {
if (objs == null) {
objs = service.getPagedData(start, limit,idColumn, true).toArray();
}
return objs;
} public int getTotalCount() {
return service.getTotalCount();
} public void sort(final GridColumn column,
final SortDirection direction) {
objs = service.getPagedData( start, limit, column.getId(), false).toArray();
}
};
}
/**
* 默认模型
*/
public void DefaultGridModel() {
columnModel = new GridColumnModel().columns(
new GridColumn("id").width(100).value("#{var.code}").enableSort(true).hidden(false),
new GridColumn("pname").width(100).value("#{var.name}")
); headerModel = new GridHeaderModel().headers(new GridHeader().cells(
new GridHeaderCell().label("代码"), new GridHeaderCell()
.label("显示名称")));
}
/**
* 动态生成表格
* @param dictionaryvo
*/
private void createGrid(DictionaryVo dictionaryvo)
{
columnModel = new GridColumnModel(); headerModel = new GridHeaderModel();
if(dictionaryvo !=null)
{
List<ColumnModel> columns = dictionaryvo.getColumns();
if(columns !=null&&columns.size()>0)
{
GridHeader gridHeader = new GridHeader();
for(int i=0;i<columns.size();i++)
{
ColumnModel colummodel = columns.get(i);
String value = "#{var.column"+i+"}";
GridColumn gridColumn = new GridColumn(colummodel.getName()).width(100).value(value);
columnModel.addColumn(gridColumn);
if(colummodel.getLabel()==null||colummodel.getLabel().equals(""))
{
GridHeaderCell gridheadercell = new GridHeaderCell(colummodel.getName());
gridHeader.addCell(gridheadercell);
}
else
{
GridHeaderCell gridheadercell = new GridHeaderCell(colummodel.getLabel());
gridHeader.addCell(gridheadercell);
}
}
headerModel.addHeader(gridHeader);
}
}
}
@Bind
private UIIFrame iframe;
@Bind
private UIWindow iwindow;
@Action
public void add_onclick(){
SessionManager.putSession("status", "save");
// selectedData = grid.getSelectedValues(); //获取选择项的所有值
System.out.println("******************************value = " + grid.getSelectionModel());
System.out.println("******************************column = " + grid.getColumnModel().getColumn(1));
System.out.println("******************************column = " + grid.getColumnModel().getColumn("#{var.column0}"));
System.out.println("******************************columnId = " + grid.getSelections().length);
System.out.println("******************************columnId = " + grid.getSelections()[0]);
System.out.println("******************************var = " + grid.getVar());
System.out.println("******************************ids = " + grid.getSelectedIds().length);
System.out.println("******************************ids = " + grid.getSelectedIds()[0]);
String src = "/dictionary/dictionaryOperation.xhtml";
iframe.load(src);
iwindow.setX(0);
iwindow.setY(0);
iwindow.setWidth(300);
iwindow.setHeight(400);
iwindow.setTitle("新增" + dictionaryvo.getLabelname());
iwindow.show();
}
@Action
private void upd_onclick(){
SessionManager.putSession("status", "update");
// selectedData = grid.getSelectedValues(); //获取选择项的所有值
String src = "/dictionary/dictionaryOperation.xhtml";
iframe.load(src);
iwindow.setX(0);
iwindow.setY(0);
iwindow.setWidth(300);
iwindow.setHeight(400);
iwindow.setTitle("修改" + dictionaryvo.getLabelname());
iwindow.show();
}
@Action
private void del_onclick(){
DictionaryVo dictionaryvo = (DictionaryVo) SessionManager
.getSession("dic");
Object classname = dictionaryvo.getClassname();
}
@Action
private void reload_onclick(){
if(iwindow!=null)
iwindow.close();
dictionaryvo = (DictionaryVo)SessionManager.getSession("dic");
dictionaries = service.getDictionaies();
if(dictionaryvo !=null)
{
service.setDictionaryVo(dictionaryvo);
createGrid(dictionaryvo);
}
}
}
说实在的看你的代码都晕了。
我的建议是:<h:selectOneMenu value="#{bean.id}">
<f:selectItems value="#{bean.selectItemList}" />
</h:selectOneMenu>把id传入后台,根据id查询list。当然这个list是一个全局的变量。
与bean对应的java代码:
SelectItems的用法
public List <SelectItem> getSelectItemList() {
List <SelectItem> selectItemList = new ArrayList<SelectItem>();
selectItemList.add(new SelectItem("1", "Label1"));
selectItemList.add(new SelectItem("2", "Label2"));
return selectItemList;
}