【问题标题】:How to define hidden column in Xrm grid如何在 Xrm 网格中定义隐藏列
【发布时间】:2019-03-12 11:56:32
【问题描述】:

有没有办法在 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");

});

实际上没有在 UI 中显示该列。

【问题讨论】:

    标签: dynamics-crm xrm


    【解决方案1】:

    不幸的是,技术上不可能。由于没有设置隐藏列的属性,也不建议执行/读取不受支持的 DOM 元素访问。

    您可以使用SelectedControlSelectedItemIds 作为参数传递给自定义JavaScript,然后您可以从服务器拉取所需的列,如statuscode 进行验证。

    【讨论】:

    • 这当然可行,但它有问题(有点),因为功能区是仅同步的,所以唯一的方法是默认显示某些内容,请求获取,然后强制刷新功能区 - 不完全是优雅。
    • @OndrejSvejdar 也许你可以将这个想法提交给 MS.. 就像提供在 gridview 中添加隐藏列的选项
    猜你喜欢
    • 2015-12-25
    • 1970-01-01
    • 2013-07-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多