Кнопка включения / выключения на основе выбора строки в сетке данных в Flex 3 - PullRequest
0 голосов
/ 25 ноября 2011

Проект Flex, над которым я работаю, имеет сетку данных и несколько кнопок управления.Есть кнопка «Пуск».Первоначально эта кнопка будет отключена.Когда я щелкаю строку в сетке данных, кнопка будет включена.Но если нажать и удерживать клавишу Ctrl и щелкнуть в той же строке, выбор строки исчезнет (это происходит), и кнопка должна быть отключена, но здесь кнопка остается включенной.Как я могу исправить эту проблему.Любые предложения будут оценены.

Маршал.

Ответы [ 3 ]

2 голосов
/ 26 ноября 2011

Вы можете достичь этого, используя следующий код Попробуйте:
<mx:Button label="Start" click="Myfun(event)" enabled="{MyGrid.selectedIndex != -1}"/> Если вы не выбрали ни одной строки в MyGrid, кнопка будет отключена, если вы выберете кнопку Включено.

1 голос
/ 28 ноября 2011

Если возможно, используйте ItemEditor или ItemREndered в DataGrid.

{

<mx:Script>
    <![CDATA[
        public var arr:Array = new Array({label:'ABC',score:'78'},
                                         {label:'DEF',score:'50'},
                                         {label:'GHI',score:'70'},
                                         {label:'JKL',score:'80'},
                                         {label:'TRE',score:'50'});

        public function dgCLG_dataChange():void
        {

        }

        public function dgCLG_change():void
        {

        }

    ]]>
</mx:Script>

<mx:VBox height="100%" width="100%" horizontalAlign="center" verticalAlign="middle">
    <mx:DataGrid id="dgCLG" dataProvider="{arr}" editable="true" dataChange="{dgCLG_dataChange();}" change="{dgCLG_change();}">
        <mx:columns>
            <mx:DataGridColumn headerText="Label" dataField="label" editable="false">

            </mx:DataGridColumn>
            <mx:DataGridColumn headerText="Marks" dataField="score" editable="true" itemEditor="ComNS"
                editorDataField="value">

            </mx:DataGridColumn>
        </mx:columns>
    </mx:DataGrid>  
</mx:VBox>

}

Здесь вы найдете ComNS, который является пользовательским компонентом числового степпера.когда вы выбираете конкретную строку и столбец, это будет отображаться, а когда оно отменяется, оно будет отображаться как простой текст.

0 голосов
/ 29 ноября 2011

Я исследовал и нашел решение, аналогичное ответу М.С. Наяка.Я взял значение selectedIndex для данной сетки данных.Включение кнопок будет выполнено, если selectedIndex не равен -1, иначе кнопки будут отключены.

Наконец, эта проблема была решена.Маршал.

...