日期:2014-05-16 浏览次数:20328 次
公司出的 三级程序程序员试题
?
题目如下
?
?
excel.html
只包含了 导入extjs 文件
?
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <title>Untitled Document</title> <!-- ext --> <link rel="stylesheet" type="text/css" href="ext-4.0/resources/css/ext-all.css" /> <link rel="stylesheet" type="text/css" href="ext-4.0/shared/example.css" /> <link rel="stylesheet" type="text/css" href="ext-4.0/examples/ux/css/CheckHeader.css" /> <script type="text/javascript" src="ext-4.0/bootstrap.js"></script> <script type="text/javascript" src="excel.js"></script> </head> <body> </body> </html>
?excel.js
?
Ext.Loader.setConfig({ enabled: true }); Ext.Loader.setPath('Ext.ux', 'ext-4.0/examples/ux'); Ext.require([ 'Ext.grid.*', 'Ext.data.*', 'Ext.util.*', 'Ext.state.*', 'Ext.selection.CellModel', 'Ext.form.*', 'Ext.ux.CheckColumn' ]) Ext.onReady(function(){ Ext.QuickTips.init(); var excelArr = new Array(); //製作顯示部份 var index=1; for(var i=0;i<26;i++){ var str = new Array(); for(var j=0;j<26;j++){ if(j==0) str.push(index); else str.push(''); } index++; excelArr.push(str); } var tempStor = new Array(); //製作store fields for(var i=0;i<27;i++){ var temp ; if(i==0){ temp = {name: 1, type: 'float'} } else{ temp = {name: (String.fromCharCode(65+i-1)), type: 'float'} } tempStor.push(temp); } var store = Ext.create('Ext.data.ArrayStore', { //獲取store fields:tempStor , data: excelArr }); var gridData = new Array(); //製作 grid columns gridData.push({ text : 'no',locked:true,sortable : false,width:50,dataIndex: 1}); for(var i=1;i<27;i++){ gridData.push({ text : String.fromCharCode(65+i-1), sortable : false,width:50, dataIndex: (String.fromCharCode(65+i-1)), field: 'textfield', }); } var grid = Ext.create('Ext.grid.Panel', { store: store, autoScroll:true, plugins: [ Ext.create('Ext.grid.plugin.CellEditing', { clicksToEdit: 1, listeners:{ 'edit':function(editor,e,options){ //监听修改事件 value = e.value; var err = value.match(/^([a-zA-Z]{1})([0-9]{1,3})([+|\-|*|\/]{1})([a-zA-Z]{1})([0-9]{1,3})$/)//使用正则表达式 if(err!=null){ var v1 = (grid.getStore().getAt(err[2]-1).get(err[1].toUpperCase())); //获取第一个的值 var v2 = (grid.getStore().getAt(err[5]-1).get(err[4].toUpperCase())); //获取第二个的值 var result = eval(v1+err[3]+v2); //计算 grid.getStore().getAt(e.rowIdx ).set(e.column.text,result); //添加进表格 } if(value.match(/^[0-9|\-|.]{1,10}$/)==null&&err==null){ grid.getStore().getAt(e.rowIdx ).set(e.column.text,'0'); //添加进表格 } } } }) ], columnLines:true, flex:1, columns: gridData, height: 550, width: 1200, renderTo: Ext.getBody(), }); });