package com.aspose.gridweb.test.servlet; import java.lang.reflect.Field; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import com.aspose.gridweb.BorderStyle; import com.aspose.gridweb.CellErrorHandler; import com.aspose.gridweb.CellEventArgs; import com.aspose.gridweb.CellEventHandler; import com.aspose.gridweb.CellEventStringHandler; import com.aspose.gridweb.Color; import com.aspose.gridweb.CustomCommandEventHandler; import com.aspose.gridweb.GridCellException; import com.aspose.gridweb.GridCells; import com.aspose.gridweb.GridHyperlink; import com.aspose.gridweb.GridTableItemStyle; import com.aspose.gridweb.GridWebBean; import com.aspose.gridweb.GridWorksheet; import com.aspose.gridweb.GridWorksheetCollection; import com.aspose.gridweb.HorizontalAlign; import com.aspose.gridweb.OnErrorActionQuery; import com.aspose.gridweb.PresetStyle; import com.aspose.gridweb.RowColumnEventArgs; import com.aspose.gridweb.RowColumnEventHandler; import com.aspose.gridweb.Unit; import com.aspose.gridweb.VerticalAlign; import com.aspose.gridweb.WorkbookEventHandler; import com.aspose.gridweb.test.TestGridWebBaseServlet; public class FeatureServlet extends TestGridWebBaseServlet { private static final long serialVersionUID = 1L; @Override public void reload(GridWebBean gridweb,HttpServletRequest request, HttpServletResponse response) { try { super.reloadfile(gridweb,request,"data.xls"); } catch (Exception e) { e.printStackTrace(); } } public void loadFreezePaneFile(GridWebBean gridweb,HttpServletRequest request, HttpServletResponse response) { try { super.reloadfile(gridweb,request,"freezepane.xls"); } catch (Exception e) { e.printStackTrace(); } GridWorksheetCollection gridWorksheetCollection = gridweb.getWorkSheets(); GridWorksheet gridWorksheet = gridWorksheetCollection.get(gridWorksheetCollection.getActiveSheetIndex()); gridWorksheet.freezePanes(3, 3, 3, 3); } public void freezePane(GridWebBean gridweb,HttpServletRequest request, HttpServletResponse response) { int row = Integer.parseInt(request.getParameter("row")); int column = Integer.parseInt(request.getParameter("column")); int rowNumber = Integer.parseInt(request.getParameter("rowNumber")); int columnNumber = Integer.parseInt(request.getParameter("columnNumber")); GridWorksheetCollection gridWorksheetCollection = gridweb.getWorkSheets(); GridWorksheet gridWorksheet = gridWorksheetCollection.get(gridWorksheetCollection.getActiveSheetIndex()); gridWorksheet.freezePanes(row, column, rowNumber, columnNumber); } public void unfreezePane(GridWebBean gridweb,HttpServletRequest request, HttpServletResponse response) { GridWorksheetCollection gridWorksheetCollection = gridweb.getWorkSheets(); GridWorksheet gridWorksheet = gridWorksheetCollection.get(gridWorksheetCollection.getActiveSheetIndex()); gridWorksheet.unFreezePanes(); } public void customHeaders(GridWebBean gridweb,HttpServletRequest request, HttpServletResponse response) { GridWorksheetCollection gridWorksheetCollection = gridweb.getWorkSheets(); gridWorksheetCollection.clear(); int index = gridWorksheetCollection.add(); // gridWorkSheet GridWorksheet gridWorkSheet = gridWorksheetCollection.get(index); gridWorkSheet.setColumnCaption(0, "Product"); gridWorkSheet.setColumnCaption(1, "Category"); gridWorkSheet.setColumnCaption(2, "Price"); GridCells gridCells = gridWorkSheet.getCells(); gridCells.get("A1").setValue("Aniseed Syrup"); gridCells.get("A2").setValue("Boston Crab Meat"); gridCells.get("A3").setValue("Chang"); gridCells.get("B1").setValue("Condiments"); gridCells.get("B2").setValue("Seafood"); gridCells.get("B3").setValue("Beverages"); } public void loadDateTimeFile(GridWebBean gridweb,HttpServletRequest request, HttpServletResponse response) { try { super.reloadfile(gridweb,request,"datetime.xls"); } catch (Exception e) { e.printStackTrace(); } } public void loadTextAndDataFile(GridWebBean gridweb,HttpServletRequest request, HttpServletResponse response) { try { super.reloadfile(gridweb,request,"TextAndData.xls"); } catch (Exception e) { e.printStackTrace(); } } public void loadMathFile(GridWebBean gridweb,HttpServletRequest request, HttpServletResponse response) { try { super.reloadfile(gridweb,request,"Math.xls"); } catch (Exception e) { e.printStackTrace(); } } public void loadLogicalFile(GridWebBean gridweb,HttpServletRequest request, HttpServletResponse response) { try { super.reloadfile(gridweb,request,"Logical.xls"); } catch (Exception e) { e.printStackTrace(); } } public void loadStatisticalFile(GridWebBean gridweb,HttpServletRequest request, HttpServletResponse response) { try { super.reloadfile(gridweb,request,"Statistical.xls"); } catch (Exception e) { e.printStackTrace(); } } public void loadSkinsFile(GridWebBean gridweb,HttpServletRequest request, HttpServletResponse response) { try { super.reloadfile(gridweb,request,"Skins.xls"); } catch (Exception e) { e.printStackTrace(); } } public void changeStyle(GridWebBean gridweb,HttpServletRequest request, HttpServletResponse response) { String style = request.getParameter("style"); if (style.startsWith("Custom")) { String basePath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort() + webPath + "/"; String url = basePath + "xml/" + style + ".xml"; gridweb.setCustomStyleFileName(url); return; } Field[] fields = PresetStyle.class.getDeclaredFields(); int presetStyle = PresetStyle.STANDARD; for (Field field : fields) { if (field.getName().equalsIgnoreCase(style)) { try { presetStyle = field.getInt(field.getName()); } catch (IllegalArgumentException e) { e.printStackTrace(); } catch (IllegalAccessException e) { e.printStackTrace(); } } } gridweb.setPresetStyle(presetStyle); } public void pagination(GridWebBean gridweb,HttpServletRequest request, HttpServletResponse response) { try { super.reloadfile(gridweb,request,"employeesales.xls"); } catch (Exception e) { e.printStackTrace(); } gridweb.setPageSize(20); } public void sort(GridWebBean gridweb,HttpServletRequest request, HttpServletResponse response) { try { super.reloadfile(gridweb,request,"sort.xls"); } catch (Exception e) { e.printStackTrace(); } // Creates sortting header style. GridTableItemStyle gridTableItemStyle = new GridTableItemStyle(); gridTableItemStyle.setBorderStyle(BorderStyle.Outset); gridTableItemStyle.setBorderWidth(new Unit(2)); gridTableItemStyle.setBorderColor(Color.getWhite()); gridTableItemStyle.setBackColor(Color.getSilver()); gridTableItemStyle.setHorizontalAlign(HorizontalAlign.Center); gridTableItemStyle.setVerticalAlign(VerticalAlign.Middle); // Creates Hyperlinks. final GridWorksheet sheet = gridweb.getWorkSheets().get(0); sheet.getCells().get("A1").copyStyle(gridTableItemStyle); int i = sheet.getHyperlinks().add("A1", 1, 1, ""); GridHyperlink hlink = sheet.getHyperlinks().get(i); hlink.setAddress("CELLCMD:A1"); hlink.setTextToDisplay("orderid"); sheet.getCells().get("B1").copyStyle(gridTableItemStyle); i = sheet.getHyperlinks().add("B1", 1, 1, ""); hlink = sheet.getHyperlinks().get(i); hlink.setAddress("CELLCMD:B1"); hlink.setTextToDisplay("Sales Amout"); sheet.getCells().get("C1").copyStyle(gridTableItemStyle); i = sheet.getHyperlinks().add("C1", 1, 1, ""); hlink = sheet.getHyperlinks().get(i); hlink.setAddress("CELLCMD:C1"); hlink.setTextToDisplay("Percent of Saler's Total"); sheet.getCells().get("D1").copyStyle(gridTableItemStyle); i = sheet.getHyperlinks().add("D1", 1, 1, ""); hlink = sheet.getHyperlinks().get(i); hlink.setAddress("CELLCMD:D1"); hlink.setTextToDisplay("Percent of Country Total"); final GridWorksheet sheet1 = gridweb.getWorkSheets().get(1); sheet1.getCells().get("A1").copyStyle(gridTableItemStyle); i = sheet1.getHyperlinks().add("A1", 1, 1, ""); hlink = sheet1.getHyperlinks().get(i); hlink.setAddress("CELLCMD:1A1"); hlink.setTextToDisplay("Product"); sheet1.getCells().get("A2").copyStyle(gridTableItemStyle); i = sheet1.getHyperlinks().add("A2", 1, 1, ""); hlink = sheet1.getHyperlinks().get(i); hlink.setAddress("CELLCMD:1A2"); hlink.setTextToDisplay("Category"); sheet1.getCells().get("A3").copyStyle(gridTableItemStyle); i = sheet1.getHyperlinks().add("A3", 1, 1, ""); hlink = sheet1.getHyperlinks().get(i); hlink.setAddress("CELLCMD:1A3"); hlink.setTextToDisplay("Package"); sheet1.getCells().get("A4").copyStyle(gridTableItemStyle); i = sheet1.getHyperlinks().add("A4", 1, 1, ""); hlink = sheet1.getHyperlinks().get(i); hlink.setAddress("CELLCMD:1A4"); hlink.setTextToDisplay("Quantity"); CellEventHandler ce = new CellEventHandler() { public void handleCellEvent(Object sender, CellEventArgs e) { if (e.getArgument().toString().equals("A1")) { sheet.getCells().sort(1, 0, 20, 4, 0, true,true,false); } else if (e.getArgument().toString().equals("B1")) { sheet.getCells().sort(1, 0, 20, 4, 1, true,true,false); } else if (e.getArgument().toString().equals("C1")) { sheet.getCells().sort(1, 0, 20, 4, 2, true,true,false); } else if (e.getArgument().toString().equals("D1")) { sheet.getCells().sort(1, 0, 20, 4, 3, true,true,false); } else if (e.getArgument().toString().equals("1A1")) { sheet1.getCells().sort(0, 1, 4, 7, 0, true,true,true); } else if (e.getArgument().toString().equals("1A2")) { sheet1.getCells().sort(0, 1, 4, 7, 1, true,true,true); } else if (e.getArgument().toString().equals("1A3")) { sheet1.getCells().sort(0, 1, 4, 7, 2, true,true,true); } else if (e.getArgument().toString().equals("1A4")) { sheet1.getCells().sort(0, 1, 4, 7, 3, true,true,true); } } }; gridweb.CellCommand = ce; } public void events(final GridWebBean gridweb,final HttpServletRequest request, final HttpServletResponse response) { this.reload(gridweb,request, response); gridweb.setPageSize(3); final GridWorksheetCollection gridWorksheetCollection = gridweb.getWorkSheets(); // gridWorkSheet final GridWorksheet gridWorkSheet = gridWorksheetCollection.get(gridWorksheetCollection.getActiveSheetIndex()); gridWorkSheet.getCells().setColumnWidthPixel(0, 180); WorkbookEventHandler SubmitCommand = new WorkbookEventHandler() { @Override public void handleCellEvent(Object arg0, CellEventArgs arg1) { // try { // request.getRequestDispatcher("/sample/pages/commons/event_info.jsp").forward(request, // response); // } catch (ServletException e) { // e.printStackTrace(); // } catch (IOException e) { // e.printStackTrace(); // } gridWorkSheet.getCells().get("A1").setValue("SubmitCommand"); // out.println("<script type=\"text/javascript\">"); // out.println("showMsg(123)"); // out.println("</script>"); } }; gridweb.SubmitCommand = SubmitCommand; WorkbookEventHandler SaveCommand = new WorkbookEventHandler() { @Override public void handleCellEvent(Object arg0, CellEventArgs arg1) { gridWorkSheet.getCells().get("A1").setValue("SaveCommand"); } }; gridweb.SaveCommand = SaveCommand; WorkbookEventHandler UndoCommand = new WorkbookEventHandler() { @Override public void handleCellEvent(Object arg0, CellEventArgs arg1) { gridWorkSheet.getCells().get("A1").setValue("UndoCommand"); } }; gridweb.UndoCommand = UndoCommand; WorkbookEventHandler SheetTabClick = new WorkbookEventHandler() { @Override public void handleCellEvent(Object arg0, CellEventArgs arg1) { gridWorkSheet.getCells().get("A1").setValue("SheetTabClick"); } }; gridweb.SheetTabClick = SheetTabClick; WorkbookEventHandler SheetTabChange = new WorkbookEventHandler() { @Override public void handleCellEvent(Object arg0, CellEventArgs arg1) { GridWorksheet gridWorkSheet = gridWorksheetCollection.get(gridWorksheetCollection.getActiveSheetIndex()); gridWorkSheet.getCells().get("A1").setValue("SheetTabChange"); } }; // gridweb.SheetTabChange = SheetTabChange; CellErrorHandler CellError = new CellErrorHandler() { @Override public void handleCellEvent(Object arg0, GridCellException arg1, OnErrorActionQuery arg2) { gridWorkSheet.getCells().get("A1").setValue("CellError"); } }; // gridweb.CellError = CellError; CustomCommandEventHandler CustomCommand = new CustomCommandEventHandler() { @Override public void handleCellEvent(Object arg0, String arg1) { gridWorkSheet.getCells().get("A1").setValue("CustomCommand"); } }; gridweb.CustomCommand = CustomCommand; RowColumnEventHandler RowDoubleClick = new RowColumnEventHandler() { @Override public void handleCellEvent(Object arg0, RowColumnEventArgs arg1) { gridWorkSheet.getCells().get("A1").setValue("RowDoubleClick"); } }; gridweb.RowDoubleClick = RowDoubleClick; RowColumnEventHandler ColumnDoubleClick = new RowColumnEventHandler() { @Override public void handleCellEvent(Object arg0, RowColumnEventArgs arg1) { gridWorkSheet.getCells().get("A1").setValue("ColumnDoubleClick"); } }; gridweb.ColumnDoubleClick = ColumnDoubleClick; CellEventHandler CellDoubleClick = new CellEventHandler() { @Override public void handleCellEvent(Object arg0, CellEventArgs arg1) { gridWorkSheet.getCells().get("A1").setValue("CellDoubleClick"); } }; gridweb.CellDoubleClick = CellDoubleClick; CellEventStringHandler CellClickOnAjax = new CellEventStringHandler() { @Override public String handleCellEvent(Object arg0, CellEventArgs arg1) { gridWorkSheet.getCells().get("A1").setValue("CellClickOnAjax"); return null; } }; gridweb.CellClickOnAjax = CellClickOnAjax; RowColumnEventHandler RowInserted = new RowColumnEventHandler() { @Override public void handleCellEvent(Object arg0, RowColumnEventArgs arg1) { gridWorkSheet.getCells().get("A1").setValue("RowInserted"); } }; gridweb.RowInserted = RowInserted; RowColumnEventHandler RowDeleted = new RowColumnEventHandler() { @Override public void handleCellEvent(Object arg0, RowColumnEventArgs arg1) { gridWorkSheet.getCells().get("A1").setValue("RowDeleted"); } }; gridweb.RowDeleted = RowDeleted; RowColumnEventHandler RowDeleting = new RowColumnEventHandler() { @Override public void handleCellEvent(Object arg0, RowColumnEventArgs arg1) { gridWorkSheet.getCells().get("A1").setValue("RowDeleting"); } }; gridweb.RowDeleting = RowDeleting; RowColumnEventHandler ColumnInserted = new RowColumnEventHandler() { @Override public void handleCellEvent(Object arg0, RowColumnEventArgs arg1) { gridWorkSheet.getCells().get("A1").setValue("ColumnInserted"); } }; gridweb.ColumnInserted = ColumnInserted; RowColumnEventHandler ColumnDeleted = new RowColumnEventHandler() { @Override public void handleCellEvent(Object arg0, RowColumnEventArgs arg1) { gridWorkSheet.getCells().get("A1").setValue("ColumnDeleted"); } }; gridweb.ColumnDeleted = ColumnDeleted; RowColumnEventHandler ColumnDeleting = new RowColumnEventHandler() { @Override public void handleCellEvent(Object arg0, RowColumnEventArgs arg1) { gridWorkSheet.getCells().get("A1").setValue("ColumnDeleting"); } }; gridweb.ColumnDeleting = ColumnDeleting; CellEventHandler CellCommand = new CellEventHandler() { @Override public void handleCellEvent(Object arg0, CellEventArgs arg1) { gridWorkSheet.getCells().get("A1").setValue("CellCommand"); } }; gridweb.CellCommand = CellCommand; WorkbookEventHandler PageIndexChanged = new WorkbookEventHandler() { @Override public void handleCellEvent(Object arg0, CellEventArgs arg1) { int row=(gridweb.getCurrentPageIndex())*gridweb.getPageSize(); gridWorkSheet.getCells().get(row,0).setValue("PageIndexChanged"+(gridweb.getCurrentPageIndex()+1)); } }; gridweb.PageIndexChanged = PageIndexChanged; } }