Отвечая на события ItemClick в строках, а не в заголовках - PullRequest
0 голосов
/ 14 мая 2009

У меня есть функциональная сетка данных, которая отвечает на события itemClick. Все работает, за исключением того, что оно также вызывает событие itemClick при нажатии на заголовки. Поэтому вместо сортировки данных сетки они запускают событие, которое меняет состояние. Я хочу, чтобы событие click реагировало только на строки, которые нажимаются, а не на заголовки.

Я везде гуглил и копался в своих книгах, и каждый пример, который я видел, кажется, работает, поэтому мне интересно, что я здесь не так делаю:

<mx:Script>
        <![CDATA[

            [Bindable]
            public var acPrograms:ArrayCollection;



            private function showGameDetail(event:ListEvent):void {
                var programEvent:ProgramsEvent = new ProgramsEvent(ProgramsEvent.SHOW_DETAIL);
                programEvent.selectedProgram = TvPrograms( event.currentTarget.selectedItem );
                dispatchEvent(programEvent);

                currentState = "details";
            }   

        ]]>
    </mx:Script>        
    <mx:DataGrid id="gamesGrid" height="270" dataProvider="{acPrograms}"
            itemClick="showGameDetail(event);">
            <mx:columns>
                <mx:DataGridColumn headerText="Date" dataField="dateOutput" width="90" />
                <mx:DataGridColumn headerText="Time" dataField="startTime" width="70" />
                <mx:DataGridColumn headerText="Title" dataField="subTitle" width="360" />
                <mx:DataGridColumn headerText="Channel" dataField="channel" width="80" />
                <mx:DataGridColumn headerText="Provider" dataField="provider" width="100" />
            </mx:columns>
        </mx:DataGrid>

Edit:

Настоящей проблемой здесь были настройки кеша. Я работал с кэшированной версией, в которой вместо itemClick было событие click. Таким образом, событие click реагирует на все щелчки в сетке, а itemClick делает все, что нужно, все, что мне нужно, чтобы отключить кэш. С моей стороны, но спасибо за помощь.

1 Ответ

2 голосов
/ 14 мая 2009

как насчет добавления следующего в ваш обработчик событий?

if (event.rowIndex < 0) 
  return;
...