1

私は GXt GWt を使用しており、ツリー グリッドで選択した行から値を取得しようとしていますが、うまくいかないようです..

たとえば、ユーザーが行をクリックした場合、その行のすべての列の値を取得できるようにしたいと考えています。

cm = new ColumnModel(createColumnConfig());

// Create grids based on data (held in stores), and attach listeners for when a row is clicked 
final TreeGrid<Build> nightlyResultsGrid = createTreeGrid(nightlyResultsStore);

nightlyResultsGrid.addListener(Events.RowClick, new Listener<BaseEvent>()
{
    public void handleEvent(BaseEvent clickEvent)
    {
        GridEvent gridEvent = (GridEvent)clickEvent;

        gridEvent.getModel().get("Platform").toString();
        gridEvent.getModel().get("Date").toString();
        gridEvent.getModel().get("Build").toString();
    }
}

上記のコードは例外を生成し続けます..

15:58:09.861 [エラー] [ダッシュボード] キャッチされない例外がエスケープされました。 gxt.ui.client.event.BaseObservable.callListener(BaseObservable.java:178) com.extjs.gxt.ui.client.event.BaseObservable.fireEvent(BaseObservable.java:86) com.extjs.gxt.ui. client.widget.Component.fireEvent(Component.java:456) で com.extjs.gxt.ui.client.widget.grid.Grid.onClick(Grid.java:811) で com.extjs.gxt.ui.client. widget.treegrid.TreeGrid.onClick(TreeGrid.java:745)

どんな助けでも大歓迎です。

4

1 に答える 1

0

イベントを使用する場合は、イベントの Javadoc を必ずお読みください。グリッドのドキュメントから:

RowClick : GridEvent(グリッド、行インデックス、セルインデックス、イベント)

行がクリックされた後に発生します。

  • グリッド:これ
  • rowIndex : 行インデックス
  • cellIndex : セル インデックス
  • index : セルのインデックス
  • event : dom イベント

モデルが利用できないため、getModel() は null を返しています。代わりに、ストアで rowIndex を使用してモデルを取得します。

于 2011-11-01T17:45:16.290 に答える