Actionscript 3 FlexDataGrid锁定列

Actionscript 3 FlexDataGrid锁定列,actionscript-3,apache-flex,flash-builder,Actionscript 3,Apache Flex,Flash Builder,我想创建一个带有锁列的数据网格。 要做到这一点,我尝试了两种方法,但任何人都能很好地工作 首先,我尝试: <mx:DataGrid lockedColumnCount="3" id="dgSuiviClini" horizontalScrollPolicy="on" dataProvider="{xmlCollSuivi}"

我想创建一个带有锁列的数据网格。 要做到这一点,我尝试了两种方法,但任何人都能很好地工作

首先,我尝试:

 <mx:DataGrid lockedColumnCount="3" id="dgSuiviClini"
                                         horizontalScrollPolicy="on"
                                         dataProvider="{xmlCollSuivi}"
                                         editable="true"
                                         verticalLockedSeparatorSkin=""
                                         width="100%" height="{bgSuivi.height-90-90}" >
                                <mx:columns>
                                    <mx:DataGridColumn dataField="prescription"  headerText="P." editable="false" resizable="false" width="20"/>
                                    <mx:DataGridColumn dataField="grDateDeb" headerText="Date" editable="false" resizable="false" fontStyle="italic"

                                                       />
                                    <mx:DataGridColumn dataField="code" headerText="Type" editable="false" resizable="false" fontStyle="italic"
                                                       />
                                    <mx:DataGridColumn dataField="scRub2" headerText="R1" editable="true" wordWrap="true"/>
                                    <mx:DataGridColumn dataField="scRub3" headerText="R1" wordWrap="true"/>
                                    <mx:DataGridColumn dataField="scRub4" headerText="R1" wordWrap="true"/>
                                    <mx:DataGridColumn dataField="scRub5" headerText="R1" wordWrap="true"/>
                                    <mx:DataGridColumn dataField="scRub6" headerText="R1" wordWrap="true"/>
                                    <mx:DataGridColumn dataField="scRub7" headerText="R1" wordWrap="true"/>
                                    <mx:DataGridColumn dataField="scRub8" headerText="R1" wordWrap="true"/>
                                </mx:columns>

                            </mx:DataGrid>

但在本例中,所有datagrid都会显示水平滚动条。 我希望它只出现在没有锁定列的情况下

第二种方法,我将两个datagrid放在同一个容器中,一个关闭滚动策略,另一个打开

在这种情况下,仅锁定第一个数据网格。但正如使用wordWrap=“true”一样,左侧部分和右侧部分的高度行是不同的

因此,我试图找到一个解决方案,使其具有类似的功能:


谢谢

我已经和高级数据网格打过不少交道,但与普通数据网格相比,我没有那么多。不幸的是,ADG代码没有直接与普通的DataGrid对齐,但要获得您想要的特定功能,我几乎可以肯定,您必须深入DataGrid的源代码并查看drawXXX方法,在ADG中,为整个内容区域定义了一个scrollRect,需要进行相应的调整,不确定这是否适用于正常的DataGrid,但您也可以逐步了解这些代码,以了解wordWrap正在做什么。不要更好地使用DataGrid要使用AdvancedDataGrid,您可以找到两个可以解决问题的属性:-lockedColumnCount和lockedRowCount。