傑信物流項目總結(四)

一、下拉框數據回顯

<td class="columnTitle_mustbe">生產廠家:</td>
<td class="tableContentAuto">
<select name="factoryId">
	<option value="">--請選擇--</option>
	<c:forEach items="${factoryList}" var="f">
		<option value="${f.id}" 
			<c:if test="${obj.factoryId==f.id}">selected</c:if>
		>${f.factoryName}</option>
	</c:forEach>
</select>
</td>

二、傳參

1、方法
(1)通過po對象,利用springmvc的封裝參數,作爲Controller方法的參數
(2)在action中聲明屬性(推薦)
(3)直接從request中獲取(原始)

2、合同jContractList.jsp列表頁面在每條合同信息後增加下面的按鈕

<a href="${ctx}/cargo/contractproduct/tocreate.action?contractId=${o.id}">[貨物]</a>

3、Controller中接參

@RequestMapping("/cargo/contractproduct/tocreate.action")
public String tocreate(ContractProduct contractProduct, Model model){
  //傳遞主表的ID,同時作爲查詢條件
  model.addAttribute(“contractId”, contractProduct.getContractId());   
傳遞給頁面隱藏域,否則保存時取不到這個值
}

三、POI打印步驟

1、操作步驟
(1)打開一個excel文件
(2)打開當前工作簿
(3)創建行對象
(4)指定列,創建單元格對象
(5)寫入內容
(6)設置樣式:字體、大小、顏色、位置、表格線、換行、格式(字符、數字)
(7)關閉保存excel文件

2、打印 –模板打印
(1)要求
程序可以完成一切,但靜態內容,行高,列高等如果全由程序控制,代碼量大。
用戶要修改其中一項,還需修改代碼。維護性不好。
(2)解決思路
模板,事先調整好行高、列寬
靜動分離,靜態的內容,表頭、標題等可先在模板中設置

3、打印-公式
(1)nCell.setCellType(HSSFCell.CELL_TYPE_FORMULA);
(2)兩列值相乘
nCell.setCellFormula(“F”+String.valueOf(curRow)+"*H"+String.valueOf(curRow)+")");
(3)兩列合計
nCell.setCellFormula(“SUM(I”+String.valueOf(curRow-4)+":I"+String.valueOf(curRow-1)+")");

4、打印-圖片、畫線
(1)圖片畫線都需要先插入矛對象HSSFClientAnchor

5、打印-分頁
(1)sheet.setRowBreak(startRow-1); //在第startRow行設置分頁符

6、打印-合併單元格
new Region(curRow, (short)(1), curRow, (short)3); //橫向合併單元格
region = new Region(curRow-1, (short)(5), curRow-1, (short)6); //縱向合併單元格
sheet.addMergedRegion(region);

7、打印-單元格自適應高度
(1)得到每行文本所佔的高度
算出多行文本中含有幾個回行數,就等價於行數
兩者相乘,並設置單元格的行高
(2)代碼
float height = pioUtil.getCellAutoHeight(printMap.get(“Request”), 12f);
nRow.setHeightInPoints(height);

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章