Handsontable 學習筆記-Methods

來源:互聯網
上載者:User

標籤:

Handson: 親自實踐

先給出資料來源和基本配置:

 var data =[       ["A1","B1","C1","D1"],       ["A2","B2","C2","D2"],       ["A3","B3","C3","D3"]     ];     var objectData = [       {id: 1, name: ‘Ted Right‘, address: ‘‘},       {id: 2, name: ‘Frank Honest‘, address: ‘‘},       {id: 3, name: ‘Joan Well‘, address: ‘‘},       {id: 4, name: ‘Gail Polite‘, address: ‘‘},       {id: 5, name: ‘Michael Fair‘, address: ‘‘},     ];     var container=document.getElementById(‘example‘);     var ht=new Handsontable(container,{       data:objectData,       rowHeaders:true,       colHeaders:true       //,disableVisualSelection: true     });

開始動作表格(一些方法methods)

怎樣獲得表格中某個範圍range的資料?    
alert(ht.getData(0,1));//[A1,B1]alert(ht.getData(0,2));//[A1,B1,C1]alert(ht.getData(0,3));//[A1,B1,C1,D1]alert(ht.getData(0,4));//[A1,B1,C1,D1,] alert(ht.getData(1,1));//[A1,B1,A2,B2]alert(ht.getData(1,2));//[A1,B1,C1,A2,B2,C2]alert(ht.getData(1,3));//[A1,B1,C1,D1,A2,B2,C2,D2]alert(ht.getData(2,1));//[A1,B1,A2,B2,A3,B3]alert(ht.getData(1,1,2,2));//[B2,C2,B3,C3] 這是一個起止區間,類似excel的B2:C3;沒有開始地址的就預設為(0,0),如(0,1)==(0,0,0,1),(2,1)==(0,0,2,1)
怎樣獲得表格中某個儲存格cell的資料?
alert(‘getDataAtCell: ‘ + ht.getDataAtCell(1,3));// D2

// 若資料來源是objectData,屬性名稱就是id,name,address等。
alert(‘getDataAtRowProp: ‘ + ht.getDataAtRowProp(1,‘name‘));// Frank Honest
 怎樣獲得表格中某一行row的資料?
alert(‘getDataAtRow: ‘+ht.getDataAtRow(2));//[3,"Joan Well",""]
 怎樣獲得表格中某一列column的資料?
 alert(‘getDataAtCol: ‘+ht.getDataAtCol(1)); // 類似於getDataAtCol(),只不過將列索引改成了欄位屬性名稱。對object datasource有效。 alert(‘getDataAtProp: ‘+ht.getDataAtProp("name"));
怎樣改變單個或多個儲存格的內容?
  ht.setDataAtCell([      [0,0,‘hi:  0,0‘],      [0,2, "hi: 0,2"]  ]);  //  根據行號列標(Array data source)或行號列屬性(object datasource)設定儲存格的值。  ht.setDataAtRowProp(1,‘name‘,"wooHAHA");
怎樣在表格中插入行和列?
ht.alter(‘insert_row‘,2);// 在第3行上插入一行,不帶行索引表示加入到當前行下方;// 插入列同理!但是只能用在Array datasource!ht.alter(‘insert_col‘,2);//在第3列前面(左邊)插入一列。
怎樣在表格中刪除行和列?
ht.alter(‘remove_row‘);ht.alter(‘remove_col‘); 
怎樣操作儲存格?
alert(ht.getCell(1,1));//獲得儲存格對象ht.getCellMeta(1,1));//獲得儲存格的屬性對象ht.setCellMeta(1,1,"sx","sxz");//設定儲存格屬性// 上面說了如何設定和獲得cell或range的值,下面看看如果選擇它們。// 獲得和選擇是一樣的嗎?不一樣的概念,get、selectconsole.log(ht.selectCell(2,2));//預設第三行第三列被選中alert(ht.getValue());//現在知道getValue怎麼回事了吧!當預設有cell被選中時,這個getValue就會顯示選中cell的內容了。// 好吧,來看看預設選中了什嗎?alert(ht.getSelected());//返回座標,如2,2,2,2
怎麼知道表格的行數和列數?
alert(‘表格行數:‘+ht.countRows());alert(‘表格列數:‘+ht.countCols());
怎麼根據列名稱得到列索引,根據列索引得到列名稱?
alert(ht.propToCol(‘id‘));//根據列屬性名稱獲得列索引,要object datasource才行。但是插入列卻要用array datasource,這麼糾結?alert(ht.colToProp(2));//根據列索引得到該列的屬性名稱,如name,address等。資料來源是object才有效。
怎樣獲得列名和欄位標題的名稱?
 // 表格配置中有個rowHeaders,一般配置為true,顯示為行號1,2,3,4...。這個也可以自訂的哦,比如 rowHeaders:[‘第一行‘,‘第二行‘...],這樣getRowHeader函數就有意義了。alert(ht.getRowHeader(1));console.log(ht.getColHeader());//不帶參數返回所有列名稱的array 如["A","B","C"]。
怎麼清空表格內容?
ht.clear();

Handsontable 學習筆記-Methods

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.