【问题标题】:Display special characters in mx:AdvancedDataGrid flex在 mx:AdvancedDataGrid flex 中显示特殊字符
【发布时间】:2014-05-06 13:21:50
【问题描述】:

我试图在 mx:AdvancedDataGridColumn 列中显示特殊字符作为值。例如,我正在尝试使用 HTML 代码显示版权符号、商标和其他字符。

我想显示下面的数据


特殊字符: ¢ ©® ™

具有以下 html 编码内容:

<b>特殊字符:</b> ¢ ©® &贸易;

到目前为止,mx:AdvancedDataGridColumn 按原样显示数据。那就是显示标签(HTML编码的字符串)

示例代码:

这里的 HTML 可以是任何东西。请告知如何执行此操作。

【问题讨论】:

    标签: apache-flex flex4 advanceddatagrid


    【解决方案1】:

    默认情况下,当您指定 dataField 属性时,Flex 将尝试设置默认 AdvancedDataGridItemRenderer(这是一个 TextField)的“文本”属性。为了显示 html,您需要创建一个扩展 AdvancedDataGridItemRenderer 的自定义项目渲染器,并覆盖“设置数据”功能,然后设置 htmlText 属性。

    另见http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/text/TextField.html#htmlText,部分 HTML 实体不受支持。

    【讨论】:

      【解决方案2】:

      我像这样将 Delta 符号设置为 DataGrid 的列标题

      <s:DataGrid width="100%" height="100%" rowHeight="43"
                  sortableColumns="false"
                  color="0x929698"
                  borderVisible="false"
                  dataProvider="{model.gridOperationDataCollection}">
          <s:columns>
              <s:ArrayList>
                  <s:GridColumn> headerRenderer="ru.prognoz.iup.renderers.OperationIndGridHRDelta"/>
              </s:ArrayList>
          </s:columns>
      

      OperationIndGridHRDelta

      <s:GridItemRenderer xmlns:fx="http://ns.adobe.com/mxml/2009"
                      xmlns:s="library://ns.adobe.com/flex/spark"
                      xmlns:mx="library://ns.adobe.com/flex/mx"
                      minWidth="21" minHeight="21">
      
      <mx:Text htmlText="\u0394 {label}"
               color="0xA2ACB2"
               verticalCenter="0" horizontalCenter="0"
               fontSize="12" fontFamily="Arial"
              />
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-05-14
        相关资源
        最近更新 更多