【问题标题】:Adding selection listener to GXT Grid?向 GXT Grid 添加选择侦听器?
【发布时间】:2013-02-26 22:30:02
【问题描述】:

我正在尝试向我的 GXT (Ext GWT) Grid 添加一个选择侦听器,但我似乎无法启动它。我已经尝试了很多变体,但都没有运气:

myGrid.addListener(Events.Select, new SelectionListener<ComponentEvent>() {

     @Override
     public void componentSelected(ComponentEvent ce) {
         System.out.println("selected");
     }
});

【问题讨论】:

    标签: java gwt grid gxt


    【解决方案1】:
            myGrid.getSelectionModel().addSelectionChangedListener(new SelectionChangedListener<ModelData>() {
    
            @Override
            public void selectionChanged(SelectionChangedEvent<ModelData> se) {
                ...
    
            }
        });
    

    试试这个代码

    【讨论】:

    • 非常有用的答案。 注意: 即使发生取消选择,也会触发此处理程序 (Grid.getSelectionModel().addSelectionChangedHandler)
    【解决方案2】:

    将此答案升级到 GXT v3

    grid.getSelectionModel().addSelectionChangedHandler(
      new SelectionChangedHandler<ModelData>(){
    
    @Override
    public void onSelectionChanged(SelectionChangedEvent<ModelData> event) {
        }
     });
    

    【讨论】:

      【解决方案3】:

      试试:

      myGrid.addListener(Events.Select, new Listener<GridEvent<ModelData>>() {
          @Override public void handleEvent(GridEvent<ModelData> be) {
              System.out.println("selected");
          }
      });
      

      如有必要,将 ModelData 替换为您的模型类型。

      【讨论】:

      • 可能是您的网格未捕获选择事件。当您将 Events.Select 替换为 Events.DoubleClick 并双击一行时,它会起作用吗?
      【解决方案4】:

      似乎找到了解决方法:

      myGrid.addListener(Events.OnClick, new Listener<ComponentEvent>() {
      
          @Override
          public void handleEvent(ComponentEvent ce) {
              // Handle the grid event
          }
      });
      

      似乎您只需要对其通用,然后您可以检查并将您的 ComponentEvent 转换为 GridEvent。

      【讨论】:

        【解决方案5】:

        您使用 GXT 2.x 版本吗?您是否检查过所需的事件是否已下沉?例如喜欢 grid.sinkEvents(Event.ONCLICK | Event.ONDBLCLICK | Event.MOUSEEVENTS);

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2012-12-20
          • 2014-11-28
          • 2014-01-30
          • 2010-11-26
          • 2014-02-08
          • 2017-04-06
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多