Динамически добавлять сбрасываемую часть к сетке данных

Ищите способ динамически генерировать сбрасываемые данные в java. Я могу создать первую часть динамически в Java. Это вторая часть, с которой у меня проблемы..

======== ПЕРВАЯ ЧАСТЬ =======

    <p:fieldset id="fieldset3" legend="Stuff2">
        <p:outputPanel id="dropArea3">
        <p:dataGrid id="datagrid3" var="ds" columns="6" rows="1"
            value="#{dataSourceController.fieldset3DataSources}" 
            paginator="true" 
            paginatorTemplate= "{CurrentPageReport} {FirstPageLink} 
                                {PreviousPageLink} {PageLinks} {NextPageLink}  
                                {LastPageLink}" 
            paginatorPosition="bottom"
            rowsPerPageTemplate="5,10,20">

            <p:column>
                <p:panel id="pnl" header="#{ds.title}" style="text-align:center">
                    <h:graphicImage library="images" name="datasource/#{ds.extension}.png"/>
                </p:panel>
                <p:draggable for="pnl" revert="true" stack=".ui-panel" cursor="move"/>
            </p:column>             
        </p:dataGrid>  
        </p:outputPanel>           
</p:fieldset>

======== ВТОРАЯ ЧАСТЬ =============

<p:droppable id="droppable3" for="fieldset3" tolerance="touch"
                 activeStyleClass="ui-state-highlight" datasource="datagrid1">
        <p:ajax listener="#{dataSourceController.onDataSourceDropToFieldset3}"
                update="dropArea3 datagrid1"/>
</p:droppable>

Эта сбрасываемая часть не работает в Java:

        Droppable drp = new Droppable();
        drp.setId("droppable3");
        drp.setFor("fieldset3");
        drp.setTolerance("touch");
        drp.setActiveStyleClass("ui-state-highlight");
        drp.setDatasource("datagrid1");

        MethodExpression me = FacesUtil.createMethodExpression(
                "#{dataSourceController.onDataSourceDropToFieldset3}", 
                void.class, new Class[]{DragDropEvent.class});

        MyAjaxBehavior pajax = new MyAjaxBehavior();
        Class[] par = new Class[1];
        par[0] = BehaviorEvent.class;
        pajax.setListener( me );
        pajax.setProcess( "@this" );
        drp.setOnDrop("handleDrop");
        drp.addClientBehavior( "drop", pajax );  // NOT WORKING - java.lang.IllegalStateException: CDATA tags may not nest

        ucDsForm.getChildren().add(drp);

Я получаю эту ошибку:

java.lang.IllegalStateException: CDATA tags may not nest

Это происходит конкретно при выполнении:

drp.addClientBehavior()

Тем временем я решил пропустить создание динамического сбрасываемого набора данных для статического набора 5.

0 ответов

Другие вопросы по тегам