Как определить скрытый столбец в сетке Xrm - PullRequest
1 голос
/ 12 марта 2019

Есть ли способ, как включить скрытый столбец в сетку / представление xrm?

Скажите, что я сохранил определение запроса, например:

<savedquery>
  <savedqueryid>{...}</savedqueryid>
  <layoutxml>
    <grid name="resultset" jump="name" select="1" icon="1" preview="1">
      <row name="result" id="entityid">
        <cell name="name" width="200" />
        <cell name="statuscode" width="100" />   
      </row>
    </grid>
  </layoutxml>
  <querytype>0</querytype>
  <fetchxml>
    <fetch version="1.0" output-format="xml-platform" mapping="logical">
      <entity name="entity">
        <attribute name="name" />
        <attribute name="statuscode" />
      </entity>
    </fetch>
  </fetchxml>
</savedquery>

Что мне нужно, так это иметь столбец в сетке, доступный через клиентский API - так как он управляет логикой ленты

var allSelectedRows = gridContext.getGrid().getSelectedRows().forEach((row) => {
  // this doesn't work if grid doesn't contain statuscode column
  let status = row.data.entity.attributes.get("statuscode");

});

Без отображения столбца в пользовательском интерфейсе.

1 Ответ

0 голосов
/ 12 марта 2019

Технически невозможно, к сожалению. Поскольку отсутствует свойство для установки скрытых столбцов, также не рекомендуется делать / читать доступ к неподдерживаемым элементам DOM.

Вы можете использовать SelectedControlSelectedItemIds для передачи в качестве параметра пользовательскому JavaScript, а затем вы можете извлечь необходимый столбец, такой как statuscode, с сервера для проверки.

...