Dynamic Views

Dynamic Views er en component i Extension Library – gør det muligt at lave én XPages som herefter kan bruges til at vise alle views i din database!

I teorien skal componenten blot indsættes på din XPage – men der er lige et par småting der skal gøres:

  • Data source: viewName skal beregnes. På links i din navigator (hvor view vælges) sættes en querystring variable med navnet på viewet. Data Source på DynamicView controllen kan herefter læse denne og åbne det korrekte view.
  • Collapse All: Data source, expandLevel = 1
  • Pager: Indsæt blot en Core Custom Control Pager
  • CustomizerBean: DynamicView kontrollen har en række ‘fejl’ – f.eks. åbnes alle dokumenter i Edit mode. Dette kan dog rettes ved at bruge en CustomizerBean som vist nedenfor. Andre fejl må rettes direkte i viewet – eller ved at udbygge CustomizerBean’en som gjort på frostillic.us.
import javax.faces.component.UIComponent;
import javax.faces.context.FacesContext;
import com.ibm.xsp.extlib.builder.ControlBuilder.IControl;
import com.ibm.xsp.extlib.component.dynamicview.DominoDynamicColumnBuilder.DominoViewCustomizer;
import com.ibm.xsp.extlib.component.dynamicview.UIDynamicViewPanel.DynamicColumn;
import com.ibm.xsp.extlib.component.dynamicview.ViewDesign.ColumnDef;
public class customizer extends DominoViewCustomizer{
 @Override
 public void afterCreateColumn(FacesContext context, int index,
 ColumnDef colDef, IControl column) {
 //Create a variable for the current component
 UIComponent columnComponent = column.getComponent();
 //Create a reference to the column and set the links to open in read mode
 DynamicColumn dynamicColumn = (DynamicColumn) columnComponent;
 //To have every view open the selected documents in read mode add the following
 dynamicColumn.setOpenDocAsReadonly(true);
 super.afterCreateColumn(context, index, colDef, column);
 }
}

Links

En tanke om "Dynamic Views"

Skriv et svar

Din e-mailadresse vil ikke blive publiceret. Krævede felter er markeret med *

*