コード例 #1
0
ファイル: DataGridRenderer.java プロジェクト: oyesiji/legacy
  protected void encodeTable(FacesContext facesContext, DataGrid grid, boolean hidden)
      throws IOException {
    ResponseWriter writer = facesContext.getResponseWriter();
    String clientId = grid.getClientId(facesContext);
    int columns = grid.getColumns();
    int rowIndex = grid.getFirst();
    int numberOfRowsToRender =
        (grid.getRows() != 0 ? grid.getRows() : grid.getRowCount()) / columns;

    writer.startElement("table", grid);
    writer.writeAttribute("id", clientId + "_table", "id");
    writer.writeAttribute("class", DataGrid.TABLE_CLASS, null);
    if (hidden) writer.writeAttribute("style", "display:none", null);

    writer.startElement("tbody", null);

    for (int i = 0; i < numberOfRowsToRender; i++) {
      writer.startElement("tr", null);
      writer.writeAttribute("class", DataGrid.TABLE_ROW_CLASS, null);

      for (int j = 0; j < columns; j++) {
        grid.setRowIndex(rowIndex);

        writer.startElement("td", null);
        writer.writeAttribute("class", DataGrid.TABLE_COLUMN_CLASS, null);
        if (grid.isRowAvailable()) {
          renderChildren(facesContext, grid);
          rowIndex++;
        }
        writer.endElement("td");
      }

      writer.endElement("tr");

      if (!grid.isRowAvailable()) break;
    }

    grid.setRowIndex(-1); // cleanup

    writer.endElement("tbody");
    writer.endElement("table");
  }