0

私は 2 つの問題を抱えています。2 番目の問題は、1 番目の問題を解決できる可能性があるため、単なる問題です。

Spark テーマを使用して Flex 4.1 アプリケーションを開発しています。これらは変更できません。ハローはオプションではありません。

AdvancedDataGrid の複数選択されたセルを、1 回のキー押下で 1 文字で埋める機能を提供します。したがって、ユーザーは Shift キーを使用してセルを選択し、(たとえば) H を押すと、itemEditor を使用せずに代わりにグリッドの keyDown イベントを介して、すべてのセルが H で更新されるのを確認します。次に、別の場所をクリックすると、選択がクリアされます。

ただし、表示されている選択範囲は完全にはクリアされておらず、新しく色付けされたセルが選択した色からすべて変更されるわけではありません。

その下で、選択がクリアされたことを確認できます: mygrid.selectedCells は空です。その後のすべての動作は、グリッドでの何らかの表示上の不具合を示しています。セルは選択されていませんが、選択されているように見えます。

選択したセルでキーを押した後:

代替テキスト

マウスをクリックして選択を解除した後:

代替テキスト

列が交互になっていることに注意してください。これは常に発生する方法です。

これは、デフォルトの itemRenderer を使用しています。非常に基本的なカスタム itemRenderer でも発生しますが、itemRenderer のラベルを取得して backgroundAlpha を認識できないという複雑な問題があるため、この道をさらに詳しく見ていません。これは Spark の問題であるとどこかで読みましたが、デフォルトのレンダラーに戻せば問題ないことは確かです。ええと...この選択色の不具合を除いて.

カスタム レンダラーを使用すると、次のようになります。

代替テキスト

明らかな何かが欠けている場合は、試した itemRenderer を次に示します。

<?xml version="1.0" encoding="utf-8"?>
<s:MXAdvancedDataGridItemRenderer xmlns:fx="http://ns.adobe.com/mxml/2009" 
                          xmlns:s="library://ns.adobe.com/flex/spark" 
                          xmlns:mx="library://ns.adobe.com/flex/mx" 
                          focusEnabled="true" autoDrawBackground="true"
                          >
    <s:layout>
        <s:VerticalLayout horizontalAlign="center" verticalAlign="middle"/>
    </s:layout>
    <s:Label id="lblData" text="{listData.label}" backgroundAlpha="0"/>
</s:MXAdvancedDataGridItemRenderer>

要約すると、私が必要としているのは、複数選択の不具合を修正する方法です。アイテムレンダラーの問題は、選択の不具合を修正するためにカスタム itemRenderer が必要な場合にのみ問題になります。

感謝して受け取った助け。

4

1 に答える 1

2

これは Flashplayer 10.1 が原因のようです。ここで詳細を見つけることができます:

ADG選択バグ

コメントに投稿された回避策もあります。

于 2010-12-13T21:25:53.183 に答える