1

コンボボックス列を持つテーブルがあり、コンボボックスの valueChange リスナーで別の列を生成します。すべて問題ないと思います.2番目の列が追加されましたが、コンボボックスの値が失われ、リセットされました. 私が理解しているように、generateCell 関数は 2 回実行されます。私たちを手伝ってくれますか?以下の私のコードを見ることができます:

getTable().addGeneratedColumn("action", new Table.ColumnGenerator() {  
    @Override
    public Object generateCell(Table source, Object itemId, Object columnId) {
        ComboBox comboBox = new ComboBox();    
        comboBox.addListener(new Property.ValueChangeListener() {
            @Override
            public void valueChange(Property.ValueChangeEvent event) {
                taskTable.getTable().addGeneratedColumn("rejectReason", 
                    new Table.ColumnGenerator() {
                        @Override
                        public Object generateCell(final Table source1, final Object itemId1, Object columnId1) {
                            ComboBox comboBox1 = new ComboBox();
                            comboBox1.select((comboBox1.getContainerDataSource()).firstItemId());
                            return comboBox1;
                        }
                    }
                );
            }
        });
        return comboBox;
    }
}); 
4

0 に答える 0