代码之家  ›  专栏  ›  技术社区  ›  special0ne

gwt中的网格和按钮

  •  0
  • special0ne  · 技术社区  · 15 年前

    我有一个数据网格和按钮,如何引用网格中的数据或在按钮上下文中单击的行?

    含义: 按钮clickHandler接收一个clickEvent对象,而不接收其他对象。那么,如何从中获取表数据呢?

    谢谢 我

    2 回复  |  直到 15 年前
        1
  •  1
  •   bikesandcode    15 年前

    在GWT中没有一种内置的方式可以做到这一点,把它放在那里也没有任何意义。你提到了一个网格,所以我猜你的数据大致接近某种形式的矩阵,在做很多假设的时候,你可能想要的粗糙技术是这样的:(这里没有编译器警告)

    final Map<Button,Object> buttonToCellMap = new HashMap<Button,Object>();
    ClickHandler myClickHandler = new ClickHandler() {
      public void onClick(ClickEvent event){
        Object thingInCell = buttonToCellMap.get((Button)event.getSource());
        //do something with the thing in your grid here
      }
    }
    
    
    for( List yourRow : matrix ){
      for( Object yourObject : yourRow ){
        //logic to make your grid cell goes here
    
        Button aButton = new Button();
        buttonToCellMap.put(aButton,yourObject);
        aButton.addClickHandler(myClickHandler);        
      }
    }
    

    这将允许您在单击相应按钮后访问网格中位置x,y中所关心的对象。

        2
  •  0
  •   Carnell    15 年前

    您需要存储您的单击处理程序可以访问的某种模型。模型应该允许您将行中的数据与按钮关联起来。在GWT中没有一种内置的方法可以做到这一点。