「setStyle」関数を使用して、事前にデータグリッドの3列に色を設定しようとしていますが、正常に実行できます。しかし、水平方向にスクロールするとすぐに背景色が消えます。
画像「beforeScroll.PNG」では、header1、header2、header3の3列の背景色が灰色になっています。しかし、データグリッドを水平方向にスクロールすると(「after-1st-Hscroll.PNG」を参照)、header2の色が消え、2番目のスクロール(「after-2st-Hscroll.PNG」を参照)では、ヘッダー3の色も消えます。
SDK4.6.0を使用しています
![beforeScroll](http:// C:/ Documents and Settings / p102808 / Desktop / New Folder(2)/beforeScroll.PNG)
![after-1st-Hscroll](http:// C:/ Documents and Settings / p102808 / Desktop / New Folder(2)/after-1st-Hscroll.PNG)
![after-2st-Hscroll](http:// C:/ Documents and Settings / p102808 / Desktop / New Folder(2)/after-2nd-Hscroll.PNG)
以下の私のコードを見つけてください:
<?xml version="1.0" encoding="utf-8"?>
<s:Application 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="955" minHeight="600"
creationComplete="onComplete()">
<fx:Declarations>
<!-- Place non-visual elements (e.g., services, value objects) here -->
</fx:Declarations>
<fx:Script>
<![CDATA[
import mx.controls.advancedDataGridClasses.AdvancedDataGridColumn;
private function onComplete():void{
var colsArr:Array=new Array();
var column1:AdvancedDataGridColumn=new AdvancedDataGridColumn();
column1.headerText="Header1";
column1.setStyle("backgroundColor","0xcccccc");
colsArr.push(column1);
var column2:AdvancedDataGridColumn=new AdvancedDataGridColumn();
column2.headerText="Header2";
column2.setStyle("backgroundColor","0xcccccc");
colsArr.push(column2);
var column3:AdvancedDataGridColumn=new AdvancedDataGridColumn();
column3.headerText="Header3";
column3.setStyle("backgroundColor","0xcccccc");
colsArr.push(column3);
var column4:AdvancedDataGridColumn=new AdvancedDataGridColumn();
column4.headerText="Header4";
colsArr.push(column4);
var column5:AdvancedDataGridColumn=new AdvancedDataGridColumn();
column5.headerText="Header5";
colsArr.push(column5);
sampleDG.columns=colsArr;
var column6:AdvancedDataGridColumn=new AdvancedDataGridColumn();
column6.headerText="Header6";
colsArr.push(column6);
sampleDG.columns=colsArr;
var column7:AdvancedDataGridColumn=new AdvancedDataGridColumn();
column7.headerText="Header7";
colsArr.push(column7);
sampleDG.columns=colsArr;
var column8:AdvancedDataGridColumn=new AdvancedDataGridColumn();
column8.headerText="Header8";
colsArr.push(column8);
sampleDG.columns=colsArr;
var column9:AdvancedDataGridColumn=new AdvancedDataGridColumn();
column9.headerText="Header9";
colsArr.push(column9);
sampleDG.columns=colsArr;
var column10:AdvancedDataGridColumn=new AdvancedDataGridColumn();
column10.headerText="Header10";
colsArr.push(column10);
sampleDG.columns=colsArr;
var column11:AdvancedDataGridColumn=new AdvancedDataGridColumn();
column11.headerText="Header11";
colsArr.push(column11);
sampleDG.columns=colsArr;
var column12:AdvancedDataGridColumn=new AdvancedDataGridColumn();
column12.headerText="Header12";
colsArr.push(column12);
sampleDG.columns=colsArr;
}
]]>
</fx:Script>
<mx:Box horizontalAlign="center" width="100%">
<mx:AdvancedDataGrid id="sampleDG" rowCount="3" width="70%" horizontalScrollPolicy="on" height="300"/>
</mx:Box>
</s:Application>