第二個範例 (Part V):修改
The following examples had been tested on Mozilla's Firefox and Microsoft's IE. The document is provided as is. You are welcomed to use it for non-commercial purpose.Written by: 國立中興大學資管系呂瑞麟 Eric Jui-Lin Lu
請勿轉貼
看其他教材
修改待辦資料
修改待辦資料分成兩個主要的步驟:若使用者點選某一項工作,被選擇的工作項目以及 其相關值,會被複製到相對應的輸入欄位;然後,等到使用者修改完資料後,使用者 需要按"修改"按鈕來完成修改工作。 首先,我們要為 <listbox> 註冊一個 onSelect 的事件處理方法 move(); 該註冊的事件處理過程為:一旦使用者選擇了(也就是 onSelect)<listbox> 中的某一個待辦事項,ZK 開始執行 move() 方法,而該方法所做的事情就是把 該待辦事項的值分別複製到相對應的輸入欄位。註冊的原始碼如下:<listbox id="box" multiple="true" rows="4" onSelect="move()">
void move(){ name.value = ((Event)box.selectedItem.value).getName(); priority.value = ((Event)box.selectedItem.value).getPriority(); date.value = ((Event)box.selectedItem.value).getDate(); }
<button label="修改" width="46px" height="24px" onClick="update()"/>
// update() void update(){ // 修改待辦事項物件的內容以及資料庫的內容 Event editEvt = (Event) box.selectedItem.value; editEvt.setName(name.value); editEvt.setPriority(priority.value); editEvt.setDate(date.value); evtdao.update(editEvt); // 修改 listbox 的內容 List children = box.selectedItem.children; ((Listcell)children.get(0)).label = name.value; ((Listcell)children.get(1)).label = priority.value.toString(); ((Listcell)children.get(2)).label = new SimpleDateFormat("yyyy-MM-dd").format(date.value); }
Written by: 國立中興大學資管系呂瑞麟 Eric Jui-Lin Lu
沒有留言:
張貼留言