0

この例では:

function onRowClickHandler(evt){
    var clickedTaxLotId = grid.getItem(evt.rowIndex).PARCELID;
    var selectedTaxLot;

    dojo.forEach(map.graphics.graphics,function(graphic){
      if((graphic.attributes) && graphic.attributes.PARCELID === clickedTaxLotId){
        selectedTaxLot = graphic;
        return;
      }
    });
    var taxLotExtent = selectedTaxLot.geometry.getExtent();
    map.setExtent(taxLotExtent);
  }

そして、ここから PARCELID を選択します。

      <th field="PARCELID">Parcel ID</th>
      <th field="OWNERNME1" >Owner 1</th>
      <th field="OWNERNME2">Owner 2</th>
      <th field="RESYRBLT ">Year Built</th>
      <th field="SITEADDRESS" width="100%">Address</th>

しかし、今私の問題は、<th field="1">変更できないということです。しかし、私はこのような値を取得する必要があります var clickedTaxLotId = grid.getItem(evt.rowIndex).2;が、javascript では不可能です。

テーブル ヘッダーは次のようになります。

 <div data-dojo-type="dijit.layout.ContentPane" data-dojo-props="region:'bottom'" style="height:350px;" >
<table data-dojo-type="dojox.grid.DataGrid" jsid="grid" id="grid" data-dojo-props="rowsPerPage:'5', rowSelector:'20px'">
  <thead>
    <tr>

      <th field="0" width="auto" >
        Gezocht op
      </th>
      <th field="1" width="auto" >
        Gevonden
      </th>

    </tr>
  </thead>
</table>

編集

ここで、th フィールドの値を設定します。これは dataForGrid によって行われます。最初のフィールドは "0" で、result.foundFieldName で埋められ、"1" で result.value で埋められます。

 map.graphics.clear();
    var dataForGrid = [];
    //Build an array of attribute information and add each found graphic to the map
    dojo.forEach(results, function(result) {
      var graphic = result.feature;
      dataForGrid.push([result.foundFieldName, result.value]);
      var userlabel = result.value;
      switch (graphic.geometry.type) {
      case "point":
        graphic.setSymbol(markerSymbol);
        break;
      case "polyline":
        graphic.setSymbol(lineSymbol);
        break;
      case "polygon":
        graphic.setSymbol(polygonSymbol);
        break;
      }
      map.graphics.add(graphic);
    });
    var data = {

      items: dataForGrid
    };
    var store = new dojo.data.ItemFileReadStore({
      data: data
    });
    grid.setStore(store);
  }
4

0 に答える 0