`
panfugen
  • 浏览: 25725 次
  • 性别: Icon_minigender_1
  • 来自: 上海
最近访客 更多访客>>
社区版块
存档分类
最新评论

EXT-GWT为表格添加链接,点击链接后弹出Window并获得点击行的所有数据值

阅读更多
**

*SysParaConfig是一个实现了IsSerializable的类,包含了所有列配置的get(),set()方法

*column为表格中其中一列的列名,operation是从后台数据库中得到的值为"修改"

*/

 

GridCellRenderer<SysParaConfig> renderer = new GridCellRenderer<SysParaConfig>() {

   public String render(SysParaConfig model, String property,
           ColumnData config, int rowIndex, int colIndex,
           ListStore<SysParaConfig> store) {
    int id = model.getId();

    String operation = model.getOperation();

//添加的连接,链接显示的值为operation,该列唯一标示符是id
    String link = "<a onclick='return false' href='" + "?id=" + id
            + "'>" + operation + "</a>";

    return link;
   }
  };

column.setRenderer(renderer );

//这样在表格grid列名为column的列上就成功添加了连接。

  

// 添加表格点击事件
  Listener<ComponentEvent> gridListener = new Listener<ComponentEvent>() {

   public void handleEvent(ComponentEvent be) {
    GridEvent ge = (GridEvent) be;
    grid = (EditorGrid<SysParaConfig>) ge.grid;

//获得点击的行值
    int rowIndex = ge.rowIndex;

//获得点击的列值
    int colIndex = ge.colIndex;
    if (rowIndex < 0 || colIndex < 0)     return;


    List<String> list = new ArrayList<String>();
    list.clear();

//获取点击行列的值
    String isEdit = grid.getView().getCell(rowIndex, colIndex)
            .getInnerText().trim();
//如果点击的是修改,就执行下面的操作    
    if ("operation".equals(isEdit)) {
     store.commitChanges();

//从点击行的第一列开始取值,直至最后一列的值
     for (int i = 0; i < 5; i++) {    

//因为表格的列值是固定值,所以i<列值(5是列值)

  Element et = grid.getView().getCell(rowIndex, i);
      String value = et.getInnerText();
      list.add(value);
     }

//获取成功后可以跳到initWindow(list)去显示点击行的所有值或者做其他的处理

     initWindow(list);
     

    }
   }
  };

/**

*当然了你的给表格加上这个监听事件才会生效,cp是一个ContentPanel
*grid不用说就是你要添加链接并监听点击事件的表格类型是EditorGrid

*/

  if (cp != null)
   grid.addListener(Events.OnClick, gridListener);
//弹出窗口,处理数据

private  void  initWindow(list){

        Window  window=new Window();

        window.setSize(300,280);

        window.show();

        ......

}

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics