2013-01-14 34 views
1

附加你會發現一個小項目來顯示這個問題,還有一個屏幕顯示,以及在zip中。 http://imageshack.us/photo/my-images/21/screenhunter50jan140842.jpg/Flex DataGrid不需要DataTip出現

與[URL = HTTP://imageshack.us]上傳ImageShack.us [/ URL] - 當不斷刷新一個數據網格/ advanceddatagrid不需要的數據提示的dataProvider中被示出。 - 在屏幕截圖中,您可以在高級數據網格的第一列看到鼠標光標。一個工具提示就是展示。 - 在代碼showDataTips="false"爲第一列。 - 與常規數據網格相同。 (雖然有時工具提示只是閃爍) - 沒有問題與MX之一。

鏈接到演示項目:https://dl.dropbox.com/u/5516677/Datatip%20issue.7z

謝謝你們。

回答

1

我發現了這個問題。這正是flex的錯誤。當DataGrid的dataProvider發生更改時,渲染器將被緩存中的其他渲染器替換,但工具提示仍保留在先前的渲染器上,而此渲染器現在不可見。 我提出了一種解決方法。我剛剛渲染了渲染器的toolTip setter以檢查其可見性。

<mx:AdvancedDataGrid id="secoind" left="300" top="20" width="200" height="200" dataProvider="{dta}" showDataTips="false"> 
     <mx:groupedColumns > 
      <mx:AdvancedDataGridColumnGroup > 
       <mx:AdvancedDataGridColumn dataField="name" headerText="Name" showDataTips="false"> 
        <mx:itemRenderer> 
         <fx:Component> 
          <mx:AdvancedDataGridItemRenderer> 
           <fx:Script> 
            <![CDATA[ 
             override public function set toolTip(value:String):void 
             { 
              super.toolTip = visible ? value : null; 
             } 
            ]]> 
           </fx:Script> 
          </mx:AdvancedDataGridItemRenderer> 
         </fx:Component> 
        </mx:itemRenderer> 
       </mx:AdvancedDataGridColumn> 
       <mx:AdvancedDataGridColumn dataField="text" headerText="Text" showDataTips="true"/> 
      </mx:AdvancedDataGridColumnGroup> 
     </mx:groupedColumns> 
    </mx:AdvancedDataGrid>