如何使用 Flex Spark 数据网格显示多行列标题?
如何使用 Flex Spark Data Grid for Flex 4.5 显示多行列标题?
How can you display a multi-line column header using the Flex Spark Data Grid for Flex 4.5?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(6)
要扩展 Constantiner 的答案,您必须创建一个自定义
HeaderRenderer
并将Label
的maxDisplayedLines
设置为 2。这是一个 我找到的示例渲染器:MyRenderer.mxml
然后要在 DataGrid 中使用它,只需遵循 Constantiner 的示例即可:
To expand upon Constantiner's answer, you'll have to create a custom
HeaderRenderer
and set theLabel
'smaxDisplayedLines
to 2. Here's a sample renderer I found:MyRenderer.mxml
And then to use it in your DataGrid, just follow Constantiner's example:
尝试按以下方式使用自定义
headerRenderer
:带有单行标头的示例渲染器可以在此处找到
{flex4.5 SDK root}/frameworks/projects/spark/src/spark/skins /spark/DefaultGridHeaderRenderer.mxml
。Try to use custom
headerRenderer
the following way:The sample renderer with single-line header can be founded here
{flex4.5 SDK root}/frameworks/projects/spark/src/spark/skins/spark/DefaultGridHeaderRenderer.mxml
.我在我使用的 SDK 中没有看到 GridColumn 的
headerRenderer
属性,因此我无法接受其他答案。这是我的解决方案:MultiLineColumnHeaderRenderer.mxml:
带有数据网格的视图中的初始化函数:
并在 GridColumn 的
headerText
中使用:
I do not see
headerRenderer
property of GridColumn in the sdk I am using so I could not accept the other answers. Here was my solution:MultiLineColumnHeaderRenderer.mxml:
An init function in the view with the datagrid:
And using
in the
headerText
for the GridColumn:制作 DataGridSkin 的副本并将其放入源代码中。然后将第 154 行编辑为此 -
希望这有帮助,
Rich
Make a copy of the DataGridSkin and place it in your source code. Then Edit Line 154 to this -
Hope this helps,
Rich
你必须这样做:
- 创建自定义 SparkDatagrid 皮肤,创建默认皮肤的副本
-创建自定义DataGrid HeaderRenderer
- 只需创建一个新的 GridItemRenderer (A) 并将默认 DataGridHeaderRenderer 的代码放入新的 GridItemRenderer (A) 中
-进入A内的标签“labelDisplay”并将其属性“maxDisplayedLines”从1更改为2
- 现在返回到您自定义的 Spark Satagrid Skin 并搜索“headerRenderer”组件。
- 将其替换为您的自定义 GridItemRender 实例 (A)
它对我有用...希望对您也能做同样的事情
mARCO
You have to do this:
-Create a custom SparkDatagrid Skin creating a copy of the default one
-Create a custom DataGrid HeaderRenderer
-Just create a new GridItemRenderer (A) and put the code of the default DataGridHeaderRenderer inside the new GridItemRenderer (A)
-Go into the label "labelDisplay" inside A and change its property "maxDisplayedLines" from 1 to 2
-Now return to you custom Spark Satagrid Skin and search for the "headerRenderer" component.
-Replace it with an instance of your custom GridItemRender (A)
It worked for me...hope will do the same for you
mARCO
或者,
如果您不想只为 1 个属性创建新的渲染器,您可以像这样设置属性:
如果您查看
DefaultGridHeaderRenderer
组件内的代码,您会看到设置后,它会更改 labelDisplay 中的值但是,如果您有很多列,并且长时间放置相同的代码可能会很无聊,只需创建一个扩展 Spark Datagrid 的新组件(或根据需要嵌套它)您的需要),然后输入代码:
Or,
if you don't want to create a new Renderer just for 1 propertie, you can just set the propertie like this :
if you look at the code inside the
DefaultGridHeaderRenderer
component, you'll see that when set, it change the value in the labelDisplayBut, if you have a lot of columns, and it can be boring to put the same code a lot of time, just create a new component which extends the spark Datagrid (or nests it depending of your need), then put the code :