1

GWT煎茶で基本的なグリッドを作成しようとしています。正常に動作しますが、グリッドをUiBinderに配置する方法がわかりません。親ウィジェットが何になるかわかりません、

それが私がしていることです

   <!DOCTYPE ui:UiBinder SYSTEM "http://dl.google.com/gwt/DTD/xhtml.ent">

    <c:FramedPanel>
    <grid:GridView ui:field="gridMain">
    </grid:GridView>
    </c:FramedPanel>


エラー:

 Expected a widget or <g:cell>, found <grid:GridView ui:field='gridMain'> Element <g:VerticalPanel> (:4
4

3 に答える 3

2

ui.xml に次の行を追加します。

<ui:UiBinder xmlns:ui="urn:ui:com.google.gwt.uibinder"

xmlns:grid="urn:import:Package-of-GridView">

これらの2行をすでに追加している場合は問題ありません

これが私の質問と回答です。

GridViewはあなたのビュークラスだと思います。ウィジェットを拡張していますか?

ウィジェットを拡張すると機能します。そうでない場合は、クラスだけです。

widget に widget を追加することはできますが、 widget に class を追加することはできません

したがって、必要に応じて、適切なウィジェットを GridView に拡張します

たとえば。public class Gridview extends VerticalPanel

于 2012-09-01T09:42:12.907 に答える
0

gxt の UIBinder の例は、次の場所にあります。

http://gxt-uibinder.appspot.com/

これは特にあなたが探している例です:

<!DOCTYPE ui:UiBinder SYSTEM "http://dl.google.com/gwt/DTD/xhtml.ent">
<ui:UiBinder xmlns:ui='urn:ui:com.google.gwt.uibinder'
    xmlns:g='urn:import:com.google.gwt.user.client.ui'
    xmlns:gxt="urn:import:com.extjs.gxt.ui.client.widget" xmlns:toolbar="urn:import:com.extjs.gxt.ui.client.widget.toolbar" xmlns:form="urn:import:com.extjs.gxt.ui.client.widget.form" xmlns:grid="urn:import:com.extjs.gxt.ui.client.widget.grid">     
    <ui:with type="com.jhickman.web.gwt.gxtuibindertest.client.resources.icons.ExampleIcons" field="icons" />
    <ui:with type="com.extjs.gxt.ui.client.store.ListStore" field="store" />
    <ui:with type="com.google.gwt.i18n.client.DateTimeFormat" field="dateformat" />
    <ui:with type="com.jhickman.web.gwt.gxtuibindertest.client.view.grids.BasicGridView.ChangeCellRenderer" field="change" />
    <ui:with type="com.jhickman.web.gwt.gxtuibindertest.client.view.grids.BasicGridView.GridNumberRenderer" field="gridNumber" />

  <gxt:LayoutContainer layout="FlowLayout">
    <gxt:layoutdata type="FlowData" margins="10">
      <gxt:ContentPanel bodyBorder="true" icon="{icons.table}" heading="Basic Grid" buttonAlign="CENTER" layout="FitLayout" width="600" height="300">
        <gxt:topcomponent>
          <toolbar:ToolBar>
            <toolbar:LabelToolItem label="Selection Mode:" />
            <form:SimpleComboBox triggerAction="ALL" editable="false" fireChangeEventOnSetValue="true" width="100" ui:field="selectionModeComboBox" />
          </toolbar:ToolBar>
        </gxt:topcomponent>


        <grid:Grid store="{store}"
            ui:field="grid"
            styleAttribute="borderTop:none"
            autoExpandColumn="name"
            borders="false"
            stripeRows="true"
            columnLines="true"
            columnReordering="true">
          <grid:column id="name"
                      header="Company"
                      width="200"
                      rowHeader="true" />
              <grid:column id="symbol"
                      header="Symbol"
                      width="100" />
          <grid:column id="last"
            header="Last"
            alignment="RIGHT"
            width="75"
            renderer="{gridNumber}"/>
          <grid:column id="change"
            header="Change"
            width="100"
            alignment="RIGHT"
            renderer="{change}" />
          <grid:column id="date"
            header="Last Updated"
            width="100"
            alignment="RIGHT"
            dateTimeFormat="{dateformat}" />
        </grid:Grid>
      </gxt:ContentPanel>
    </gxt:layoutdata>
  </gxt:LayoutContainer>

</ui:UiBinder>
于 2012-12-07T16:19:32.283 に答える