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

GWT-EXT 专栏收录该内容
7 篇文章 0 订阅
**

*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 οnclick='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();

        ......

}

 

  • 0
    点赞
  • 0
    评论
  • 0
    收藏
  • 扫一扫,分享海报

参与评论 您还未登录,请先 登录 后发表或查看评论
©️2022 CSDN 皮肤主题:大白 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值