如何在GXT中获取网格值?

时间:2014-06-16 06:08:12

标签: java gwt grid gxt

List<ColumnConfig<Vo, ?>> l = new ArrayList<ColumnConfig<Vo, ?>>();
    l.add(numColumn);
    l.add(subjectColumn);
    l.add(nameColumn);
    l.add(dateColumn);

    ColumnModel<Vo> cm = new ColumnModel<Vo>(l);
    Grid<Vo> grid = new Grid<Vo>(store, cm) {
        @Override
        protected void onAfterFirstAttach() {
            super.onAfterFirstAttach();
            Scheduler.get().scheduleDeferred(new ScheduledCommand() {
                @Override
                public void execute() {
                    loader.load();

                }
            });
        }
    };

    grid.addCellClickHandler(new CellClickHandler() {

        @Override
        public void onCellClick(CellClickEvent event) {
            // TODO Auto-generated method stub

            contentPanel.clear();
            contentPanel.add(readPanel(contentPanel));

        }
    });`

当我点击单元格时,我想获取单元格中的数据对应。 目前的状态, 单击单元格时,切换到结构的不同视图。 我成功连接到数据库。 但是,我想获取单元格或行的数据。 如何在GXT中获取网格值? (示例网站:http://www.sencha.com/examples/#ExamplePlace:paginggrid

2 个答案:

答案 0 :(得分:0)

如果您想获得单个单元格的值,可以在cellClickHandler内尝试:

ListGridRecord record =  event.getRecord(); 
int colNum = event.getColNum();  
String fieldName=grid.getFieldName(colNum);
String cellValue=record.getAttribute(fieldName);

cellValue将具有所需的值。

答案 1 :(得分:0)

GXT Grid适用于数据存储,更准确地说,它是我认为的ListStore。因此,要获取网格的值要么使用grid.getStore()的存储,之后你基本上有一个网格中的对象集合(grid.getStore()。getAll()返回List),或者你可以使用Grid的SelectionModel来处理网格选择项,如下所示:

grid.getSelectionModel().addSelectionChangedHandler(new SelectionChangedHandler<Vo>() {

        @Override
        public void onSelectionChanged(SelectionChangedEvent<Vo> event) {
            if (grid.getSelectionModel().getSelectedItem() != null) {
                // Do whatever you want
            } else {

            }
        }
    });

我希望它会有所帮助。