Проблема с цветом фона ячейки DataGrid в Apache Royale

Давайте не будем использовать этот код

<js:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
               xmlns:j="library://ns.apache.org/royale/jewel"
               xmlns:js="library://ns.apache.org/royale/basic" 
               xmlns:local="*" xmlns:binding="org.apache.royale.binding.*" applicationComplete="ev_applicationComplete()" >

    <js:valuesImpl>
        <js:SimpleCSSValuesImpl />
    </js:valuesImpl>

    <js:initialView>

        <js:View>
            <js:beads>
                <js:VerticalLayout/>
            </js:beads>

            <js:DataGrid id="mydg" x="20" width="400" height="200" rowHeight="40">
                <js:columns>
                    <js:DataGridColumn label="Name" dataField="label" columnWidth="100" />
                    <js:DataGridColumn label="Sales" dataField="value" columnWidth="300" />
                </js:columns>
            </js:DataGrid>

            <js:TextButton text="Set again" click="ev_setdp()"/>
        </js:View>
    </js:initialView>

    <fx:Style>
        @namespace js "library://ns.apache.org/royale/basic";

        .DataGridColumnList .StringItemRenderer {
            border-style: solid;
            border-color: #CCCCCC;
            border-width: 1px;
            background-color: #ff0000;
            line-height: 40px;
            padding: 2px;
        }

        .DataGridColumnList .DataItemRenderer {
            border-style: solid;
            border-color: #CCCCCC;
            border-width: 1px;
            background-color: #ff0000;
            line-height: 40px;
            padding: 2px;
        }


    </fx:Style>

    <fx:Script>
    <![CDATA[

        import org.apache.royale.collections.ArrayList;

        private function ev_applicationComplete():void {
            mydg.dataProvider = ar;
        }

        private function ev_setdp():void {
            mydg.dataProvider = null;
            mydg.dataProvider = ar;
        }

        private var ar:Array = ["Bob", "Joe", "Frank", "Sally"];

    ]]>
    </fx:Script>
</js:Application>

Это показывает сетку с красным фоном ячейки. Если перевернуть одну ячейку, отображается серый цвет, но при развертывании цвет снова не становится красным.

1) Это баг? Я что-то пропустил?

2) Может ли кто-нибудь сказать мне, как вызвать rollovercolor? (Серый). Я пробовал .DataGridColumnList .StringItemRenderer:hover, но это не работает

введите здесь описание изображения

Для 1) я считаю, что проблема в том, что element.style не имеет правильного цвета после развертывания

введите здесь описание изображения


person Fred    schedule 16.10.2019    source источник
comment
Я пытаюсь понять, что именно вам нужно. Вы хотите, чтобы значение по умолчанию было красным, серым при наведении курсора и красным при развертывании?   -  person yishayw    schedule 21.10.2019
comment
да это оно.   -  person Fred    schedule 22.10.2019


Ответы (1)


Попробуйте изменить блок стилей на что-то вроде:

<fx:Style>
    @namespace js "library://ns.apache.org/royale/basic";

    .DataGridColumnList {
        background-color: #ff0000;
    }

    .StringItemRenderer {
        border-style: solid;
        border-color: #CCCCCC;
        border-width: 1px;
        line-height: 40px;
        padding: 2px;
    }

</fx:Style>
person yishayw    schedule 27.10.2019