• <noscript id="ecgc0"><kbd id="ecgc0"></kbd></noscript>
    <menu id="ecgc0"></menu>
  • <tt id="ecgc0"></tt>

    eclipse中table控件怎么具有編輯功能

             eclipse中table是顯示數據的,可是不克不及點竄數據,很是不變。下面分享一下table控件怎么具有編纂能力!我寫的經驗對你進修java有幫忙的話,給我投票或者保藏!

    http://v.youku.com/v_show/id_XMzk1MTEzNDk5Mg==.html

    0顯示表中數據

    0對中的表增添數據

    0刪除數據庫中的數據

    東西/原料

    • eclipse mars 2

    方式/步調

    1. 1

      沒有看之前的經驗的話,看看經驗鏈接,下面的講解和之前經驗聯系在一路的。

      1、表的數據模子。

      2、標簽類

      3、內容供給器

      4、table數據ArrayList<>

      不熟悉的看看之前的經驗鏈接。

    2. 2

      新建一個ICellModifier編纂類,讀取table中的數據,更新table中的數據:

      public class Xinxibianji implements ICellModifier{

      @Override

      public boolean canModify(Object element, String property) {

      //true :列可以點竄

      //false :不克不及點竄

      return false;

      }

      @Override

      public Object getValue(Object element, String property) {

      讀取tabled中的數據

      return null;

      }

      @Override

      public void modify(Object element, String property, Object value) {

      把新的數據寫到table中

      }

      }

    3. 3

      讀取table中的數據getValue:

      Shangpinxinxi sp=(Shangpinxinxi) element;//一行數據

      switch(property){

      case "fenlei":          //列名  

      return sp.getfenlei();

      case "mingcheng":

      return sp.getmingcheng();

      case "zhujima":

      return sp.getzhujima();

      case "danwei":

      return sp.getdanwei();

      case "jiage":

      return Float.toString(sp.getjiage());

      case "hyjiage":

      return Float.toString(sp.gethyjiage());

      }

      return null;

    4. 4

      把新點竄的數據保留在table中:

      TableItem ti=(TableItem)element;

      Shangpinxinxi sp=(Shangpinxinxi)ti.getData();  一行數據

      switch(property){    把新數據寫到數據模子中

      case "fenlei":

      sp.setfenlei((String)value);

      break;

      case "mingcheng":

      sp.setmingcheng((String)value);

      break;

      case "zhujima":

      sp.setzhujima((String)value);

      break;

      case "danwei":

      sp.setdanwei((String)value);

      break;

      case "jiage":

      sp.setjiage(Float.valueOf(value.toString()));

      break;

      case "hyjiage":

      sp.sethyjiage(Float.valueOf(value.toString()));

      break;

      }

      tv.update(sp, null);  把新數據更新在table中

    5. 5

      在createPartControl這個方式中界說列名:

      String[] lm={"fenlei","mingcheng","zhujima","danwei","jiage","hyjiage"};

      tv.setColumnProperties(lm);

    6. 6

      界說編纂器,幾多列就界說幾個:

      CellEditor[] cell = new CellEditor[6]; 

      cell[0]=new TextCellEditor(table,SWT.SINGLE | SWT.BORDER);

      cell[1]=new TextCellEditor(table,SWT.SINGLE | SWT.BORDER); 

      cell[2]=new TextCellEditor(table,SWT.SINGLE | SWT.BORDER); 

      cell[3]=new TextCellEditor(table,SWT.SINGLE | SWT.BORDER); 

      cell[4]=new TextCellEditor(table,SWT.SINGLE | SWT.BORDER); 

      cell[5]=new TextCellEditor(table,SWT.SINGLE | SWT.BORDER); 

      tv.setCellEditors(cell);

    7. 7

      設置table的編纂類:

      tv.setCellModifier(new Xinxibianji());

    8. 8

      運行項目,發現數據不克不及編纂。

    9. 9

      把canModify這個方式的返回值點竄為true。

    10. 10

      運行項目,table中的數據編纂了!

    • 發表于 2018-12-06 00:00
    • 閱讀 ( 750 )
    • 分類:其他類型

    你可能感興趣的文章

    相關問題

    0 條評論

    請先 登錄 后評論
    admin
    admin

    0 篇文章

    作家榜 ?

    1. xiaonan123 189 文章
    2. 湯依妹兒 97 文章
    3. luogf229 46 文章
    4. jy02406749 45 文章
    5. 小凡 34 文章
    6. Daisy萌 32 文章
    7. 我的QQ3117863681 24 文章
    8. 華志健 23 文章

    聯系我們:uytrv@hotmail.com 問答工具
  • <noscript id="ecgc0"><kbd id="ecgc0"></kbd></noscript>
    <menu id="ecgc0"></menu>
  • <tt id="ecgc0"></tt>
    久久久久精品国产麻豆