




已閱讀5頁,還剩23頁未讀, 繼續(xù)免費閱讀
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
extjs 動態(tài)表格完整版 EXTjsonSQLSQL ServerJSP前臺頁的源碼 test2.js Java代碼 1. 2. 3. Ext.onReady(function() 4. 5. Ext.QuickTips.init();/浮動信息提示 6. 7. Ext.BLANK_IMAGE_URL=resources/images/default/s.gif;/替換圖片文件地址為本地 8. 9. /*剛打開頁面等待中,需要屏蔽*/ 10. varmyMask; 11. Ext.onReady(function() 12. myMask=newExt.LoadMask(Ext.getBody(),msg:loading.); 13. myMask.show(); 14. ); 15. 16. /定義數(shù)據(jù)源為遠程代理和JSON數(shù)據(jù)格式 17. vards=newExt.data.Store( 18. proxy:newExt.data.HttpProxy( 19. /這個url,是后臺返回的數(shù)據(jù),這個url可以是Struts的Action,也可以是servlet,這里為了方便就是一個jsp文件 20. url:./ext.do?method=date, 21. failure:function() 22. Ext.Msg.alert(數(shù)據(jù)加載失??!請檢查); 23. , 24. success:function() 25. myMask.hide(); 26. 27. 28. ), 29. 30. 31. 32. reader:newExt.data.JsonReader( 33. /這個totalProperty和root屬性,要和后臺的文件resJson.jsp中的保持一致! 34. totalProperty:totalProperty, 35. root:root36. 37. , 38. 39. name:id40. 41. , 42. 43. name:name44. 45. , 46. 47. name:sex48. 49. , 50. 51. name:birthday, 52. 53. type:date, 54. 55. dateFormat:Y-n-j56. 57. , 58. 59. name:email60. 61. , 62. 63. 64. name:edit65. 66. 67. ) 68. 69. ); 70. 71. 72. /加載首頁數(shù)據(jù),每頁顯示10條記錄 73. 74. ds.load( 75. 76. params: 77. 78. start:0, 79. 80. limit:1081. 82. 83. 84. ); 85. 86. /定義復選框 87. 88. varsm=newExt.grid.CheckboxSelectionModel(); 89. 90. /定義列模型 91. 92. varcm=newExt.grid.ColumnModel( 93. 94. /newExt.grid.RowNumberer(),/添加自動行號 95. 96. sm,/添加復選框 97. 98. 99. 100. header:學號, 101. 102. width:40, 103. 104. dataIndex:id105. 106. , 107. 108. header:姓名, 109. 110. width:40, 111. 112. dataIndex:name, 113. 114. sortable:true, 115. 116. editor:newExt.form.TextField() 117. , 118. 119. header:性別, 120. 121. width:40, 122. 123. dataIndex:sex, 124. 125. renderer:changeSex, 126. 127. sortable:true, 128. 129. editor:newExt.form.ComboBox(transform:sexList,triggerAction:all,lazyRender:true) 130. 131. /紅男綠女 132. 133. , 134. 135. header:出生日期, 136. 137. dataIndex:birthday, 138. 139. renderer:Ext.util.Format.dateRenderer(Y年m月d日), 140. 141. sortable:true, 142. 143. editor:newExt.form.DateField(format:Y年m月d日) 144. 145. /格式化日期 146. 147. , 148. 149. header:電子郵件, 150. 151. width:120, 152. 153. dataIndex:email, 154. 155. renderer:sendEmail, 156. 157. sortable:true, 158. 159. editor:newExt.form.TextField() 160. 161. /單擊啟動郵件客戶端發(fā)送郵件 162. 163. , 164. 165. 166. 167. header:操作, 168. 169. width:25, 170. 171. dataIndex:edit, 172. 173. renderer:sendEdit 174. 175. 176. ); 177. 178. /設置所有列字段默認排序 179. 180. cm.defaultSortable=true; 181. 182. /按要求渲染性別的函數(shù) 183. 184. functionchangeSex(value) 185. 186. if(value=男) 187. 188. return男; 189. 190. else 191. 192. return女; 193. 194. 195. 196. 197. 198. /按要求渲染email的函數(shù) 199. 200. functionsendEmail(value) 201. 202. return+value+; 203. 204. 205. 206. /按要求渲染edit的函數(shù) 207. 208. functionsendEdit(value) 209. 210. return+value+; 211. 212. 213. 214. /定義一個表格面板 215. 216. vargrid=newExt.grid.EditorGridPanel( 217. 218. id:student-grid,/設置標識ID,方便以后引用! 219. title:學員信息管理,/標題 220. /顯示數(shù)據(jù)的地方,注意這里的renderTo要和html文件中的div要一致! 221. renderTo:myGrid,/顯示表格的地方顯示表格的地方 222. 223. sm:sm,/復選框 224. 225. cm:cm,/列模型 226. 227. ds:ds,/數(shù)據(jù)源 228. 229. stripeRows:true,/加上行條紋 230. 231. loadMask:true,/加載數(shù)據(jù)時遮蔽表格 232. 233. border:true,/加上邊框 234. 235. frame:true,/顯示天藍色圓角框 236. 237. autoHeight:true,/自動設置高度,這個配置很重要 238. 239. width:700, 240. 241. x:1,/設置初始位置橫坐標 242. 243. y:1,/設置初始位置縱坐標 244. 245. /enableDragDrop:true,/容許行的拖曳 246. 247. collapsible:true,/面板可以折疊 248. 249. /titleCollapse:true,/單擊表頭任何地方都可以折疊 250. 251. floating:true,/設置浮動,能否拖動成功就靠它了,注意設置浮動后它就置頂了 252. 253. /實現(xiàn)拖曳效果,參考官方文檔 254. draggable: 255. 256. insertProxy:false, 257. 258. onDrag:function(e) 259. 260. varpel=xy.getEl(); 261. 262. this.x=pel.getLeft(true); 263. 264. this.y=pel.getTop(true); 265. 266. vars=this.panel.getEl().shadow;/拖曳中消除原位置的陰影 267. 268. if(s) 269. 270. s.realign(this.x,this.y,pel.getWidth(), 271. 272. pel.getHeight(); 273. 274. 275. 276. , 277. 278. endDrag:function(e)/拖曳結束后保存位置效果 279. 280. this.panel.setPosition(this.x,this.y); 281. 282. 283. 284. , 285. 286. /UI視圖配置 287. 288. viewConfig: 289. 290. forceFit:true291. 292. /強制適應分布寬度 293. 294. , 295. 296. /表格頂部動作或按鈕工具欄 297. 298. tbar:newExt.Toolbar( 299. 300. items: 301. 302. id:btnAdd, 303. 304. text:添加, 305. 306. handler:function() 307. 308. Ext.MessageBox.alert(添加, 309. 310. 做添加的操作); 311. 312. 313. 314. ,newExt.Toolbar.SplitButton(), 315. 316. id:btnEdit, 317. 318. text:編輯, 319. 320. handler:function() 321. 322. Ext.MessageBox.alert(編輯, 323. 324. 做編輯的操作); 325. 326. 327. 328. ,-, 329. 330. id:btnDel, 331. 332. text:刪除, 333. 334. handler:function() 335. 336. Ext.MessageBox.alert(刪除, 337. 338. 做刪除的操作); 339. 340. 341. 342. 343. 344. ), 345. 346. /表格底部分頁工具欄 347. 348. bbar:newExt.PagingToolbar( 349. 350. pageSize:6, 351. 352. store:ds, 353. 354. displayInfo:true, 355. 356. displayMsg:顯示第0條到1條記錄,一共2條, 357. 358. emptyMsg:沒有記錄359. 360. ) 361. 362. ); 363. 364. 365. /表格編輯事件 366. grid.on(afteredit,afterEdit,this); 367. 368. functionafterEdit(obj) 369. varr=obj.record; 370. varid=r.get(id); 371. varname=r.get(name); 372. varsex=r.get(sex); 373. varbornDate=r.get(birthday); 374. varemail=r.get(email); 375. /varc=this.record2obj(r); 376. /Ext.MessageBox.alert(show,【id:+id+】【name:+name+】【sex:+sex+】【bornDate:+bornDate+】【email:+email+】); 377. /字符轉日期格式 378. vardate=Ext.util.Format.date(bornDate,Y-m-d); 379. /alert(date); 380. /調用異步方法 381. rollRequest(id,name,sex,date,email); 382. 383. ; 384. 385. /異步調用方法 386. functionrollRequest(id,name,sex,bornDate,email) 387. /alert(id); 388. Ext.Ajax.request( 389. url:./ext.do?method=update, 390. success:function(response,config) 391. /alert(config.url+-+config.method); 392. /成功后的刷新事件 393. ds.load( 394. params: 395. start:0, 396. limit:10397. ); 398. /Ext.MessageBox.alert(result,response.responseText);/返回值 399. /顯示修改成功 400. document.getElementById(loading).style.display=block; 401. /透明度 402. Ext.get(loading).setOpacity(1); 403. Ext.get(loading).setOpacity(0.0,duration:2,callback:function() 404. ); 405. , 406. failure:function() 407. Ext.MessageBox.alert(result,失敗); 408. , 409. method:post, 410. /傳入后臺的參數(shù) 411. params:id:id,name:name,sex:sex,bornDate:bornDate,email:email 412. 413. ); 414. 415. 416. 417. /給表格單元格加單擊事件 418. grid.addListener(cellclick,cellclick); 419. functioncellclick(grid,rowIndex,columnIndex,e) 420. /如果是編輯列允許操作 421. if(columnIndex=6) 422. varrecord=grid.getStore().getAt(rowIndex);/GettheRecord 423. varfieldName=grid.getColumnModel().getDataIndex(columnIndex);/Getfieldname 424. vardata=record.get(fieldName); 425. /Ext.MessageBox.alert(show,當前選中的數(shù)據(jù)是:+data+-+record.id); 426. /字符轉日期格式 427. varbornDate=Ext.util.Format.date(record.get(birthday),Y-m-d); 428. /調用子窗口 429. showDialog(record.get(id),record.get(name),record.get(sex),bornDate,record.get(email); 430. 431. 432. 433. ); 434. 435. 436. /子窗口 437. functionshowDialog(id,name,sex,birthday,email) 438. /alert(id+-+name+sex+-+birthday+-+email); 439. varresult=id+,+name+,+sex+,+birthday+,+email; 440. vardoc=window.showModalDialog(dialog.jsp?result=+result,ddd, 441. font-size:20px;dialogWidth:400px;dialogHeight:400px;scrollbars=no;status=no); 442. 443. if(doc=ok) 444. window.location.reload(); 445. 446. 447. 448. 449. 450. 451. Ext.onReady(function() Ext.QuickTips.init();/ 浮動信息提示 Ext.BLANK_IMAGE_URL = resources/images/default/s.gif;/ 替換圖片文件地址為本地 /*剛打開頁面等待中,需要屏蔽*/ var myMask; Ext.onReady(function() myMask= new Ext.LoadMask(Ext.getBody(), msg:loading.); myMask.show(); ); / 定義數(shù)據(jù)源為遠程代理和JSON數(shù)據(jù)格式 var ds = new Ext.data.Store( proxy : new Ext.data.HttpProxy( / 這個url,是后臺返回的數(shù)據(jù),這個url可以是Struts的Action,也可以是servlet,這里為了方便就是一個jsp文件 url : ./ext.do?method=date, failure : function() Ext.Msg.alert(數(shù)據(jù)加載失??!請檢查); , success:function() myMask.hide(); ), reader : new Ext.data.JsonReader( / 這個totalProperty和root屬性,要和后臺的文件resJson.jsp中的保持一致! totalProperty : totalProperty, root : root , name : id , name : name , name : sex , name : birthday, type : date, dateFormat : Y-n-j , name : email , name : edit ) ); / 加載首頁數(shù)據(jù),每頁顯示10條記錄 ds.load( params : start : 0, limit : 10 ); / 定義復選框 var sm = new Ext.grid.CheckboxSelectionModel(); / 定義列模型 var cm = new Ext.grid.ColumnModel( / new Ext.grid.RowNumberer(),/ 添加自動行號 sm,/ 添加復選框 header : 學號, width : 40, dataIndex : id , header : 姓名, width : 40, dataIndex : name, sortable:true, editor:new Ext.form.TextField() , header : 性別, width : 40, dataIndex : sex, renderer : changeSex, sortable:true, editor:new Ext.form.ComboBox(transform:sexList,triggerAction:all,lazyRender:true) / 紅男綠女 , header : 出生日期, dataIndex : birthday, renderer : Ext.util.Format.dateRenderer(Y年m月d日), sortable:true, editor:new Ext.form.DateField(format:Y年m月d日) / 格式化日期 , header : 電子郵件, width : 120, dataIndex : email, renderer : sendEmail, sortable:true, editor:new Ext.form.TextField() / 單擊啟動郵件客戶端發(fā)送郵件 , header : 操作, width :25, dataIndex : edit, renderer : sendEdit ); / 設置所有列字段默認排序 cm.defaultSortable = true; / 按要求渲染性別的函數(shù) function changeSex(value) if (value = 男) return 男; else return 女; /按要求渲染email的函數(shù) function sendEmail(value) return + value + ; /按要求渲染edit的函數(shù) function sendEdit(value) return + value + ; / 定義一個表格面板 var grid = new Ext.grid.EditorGridPanel( id : student-grid,/ 設置標識ID,方便以后引用! title : 學員信息管理,/ 標題 / 顯示數(shù)據(jù)的地方,注意這里的renderTo要和html文件中的div要一致! renderTo : myGrid,/ 顯示表格的地方顯示表格的地方 sm : sm,/ 復選框 cm : cm,/ 列模型 ds : ds,/ 數(shù)據(jù)源 stripeRows : true,/ 加上行條紋 loadMask : true,/ 加載數(shù)據(jù)時遮蔽表格 border : true,/ 加上邊框 frame : true,/ 顯示天藍色圓角框 autoHeight : true,/ 自動設置高度,這個配置很重要 width : 700, x : 1,/ 設置初始位置橫坐標 y : 1,/ 設置初始位置縱坐標 / enableDragDrop : true,/容許行的拖曳 collapsible : true, / 面板可以折疊 / titleCollapse : true,/ 單擊表頭任何地方都可以折疊 floating : true,/ 設置浮動,能否拖動成功就靠它了,注意設置浮動后它就置頂了 / 實現(xiàn)拖曳效果,參考官方文檔 draggable : insertProxy : false, onDrag : function(e) var pel = xy.getEl(); this.x = pel.getLeft(true); this.y = pel.getTop(true); var s = this.panel.getEl().shadow;/ 拖曳中消除原位置的陰影 if (s) s.realign(this.x, this.y, pel.getWidth(), pel.getHeight(); , endDrag : function(e) / 拖曳結束后保存位置效果 this.panel.setPosition(this.x, this.y); , / UI視圖配置 viewConfig : forceFit : true /強制適應分布寬度 , / 表格頂部動作或按鈕工具欄 tbar : new Ext.Toolbar( items : id : btnAdd, text : 添加, handler : function() Ext.MessageBox.alert(添加, 做添加的操作); , new Ext.Toolbar.SplitButton(), id : btnEdit, text : 編輯, handler : function() Ext.MessageBox.alert(編輯, 做編輯的操作); , -, id : btnDel, text : 刪除, handler : function() Ext.MessageBox.alert(刪除, 做刪除的操作); ), / 表格底部分頁工具欄 bbar : new Ext.PagingToolbar( pageSize : 6, store : ds, displayInfo : true, displayMsg : 顯示第 0 條到 1 條記錄,一共 2 條, emptyMsg : 沒有記錄 ) ); /表格編輯事件 grid.on(afteredit,afterEdit,this); function afterEdit(obj) var r=obj.record; var id=r.get(id); var name=r.get(name); var sex=r.get(sex); var bornDate=r.get(birthday); var email=r.get(email); / var c=this.record2obj(r); / Ext.MessageBox.alert(show,【id:+id+】【name:+name+】【sex:+sex+】【bornDate:+bornDate+】【email:+email+】); /字符轉日期格式 var date=Ext.util.Format.date(bornDate,Y-m-d); /alert(date); /調用異步方法 rollRequest(id,name,sex,date,email); ;/異步調用方法function rollRequest(id,name,sex,bornDate,email) /alert(id); Ext.Ajax.request(url:./ext.do?method=update,success:function(response,config)/alert(config.url+-+config.method); /成功后的刷新事件ds.load( params : start : 0, limit : 10 );/Ext.MessageBox.alert(result,response.responseText); /返回值/顯示修改成功 document.getElementById(loading).style.display=block; /透明度 Ext.get(loading).setOpacity(1); Ext.get(loading).setOpacity(0.0,duration:2,callback:function() ); , failure:function() Ext.MessageBox.alert(result,失敗); , method:post, /傳入后臺的參數(shù) params:id:id,name:name,sex:sex,bornDate:bornDate,email:email );/給表格單元格加單擊事件grid.addListener(cellclick, cellclick);function cellclick(grid, rowInde
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 環(huán)境保護與節(jié)能減排教育培訓
- 小兒肺炎的臨床表現(xiàn)及護理
- 幼兒健康活動保護耳朵
- 領導講安全課件
- 顱骨修補術后護理課件
- 顱內占位護理課件
- 胃癌腹腔鏡手術護理常規(guī)
- 預防欺凌主題班會課件
- 《機械設計基礎》課件-第13章 軸
- 預防兒童溺水課件
- 招商大使選聘管理辦法
- 2025年中國鐵路集團招聘筆試備考題庫(帶答案詳解)
- 用工風險培訓課件
- 海外現(xiàn)場安全健康環(huán)境管理(HSE)
- 2025年公安機關人民警察(行政執(zhí)法)資格考試(客觀題及刑法)含答案
- DLT 5035-2016 發(fā)電廠供暖通風與空氣調節(jié)設計規(guī)范
- DZ∕T 0201-2020 礦產地質勘查規(guī)范 鎢、錫、汞、銻(正式版)
- 小小科學家《物理》模擬試卷A(附答案)
- 《風電場項目經濟評價規(guī)范》(NB-T 31085-2016)
- 檢驗科員工個人技術檔案
- 企業(yè)拆除前現(xiàn)場清查登記表
評論
0/150
提交評論