Получить значение флажка столбца данных? - PullRequest
0 голосов
/ 25 февраля 2011

В моем веб-приложении есть сетка данных с установленным флажком с помощью itemrenderer.Как я могу получить значение флажка?

Ответы [ 2 ]

2 голосов
/ 25 февраля 2011

Поскольку itemRenderers можно перерабатывать при прокрутке DataGrid, вы должны связать значение флажка со значением в вашем dataProvider. Затем вы можете перебрать ArrayCollection и получить все строки, где Selected==true

Мой объект данных:

package 
{
  [Bindable]
  public class MyData
  {
    private var _name:String;
    private var _selected:Boolean;

    public function get Name():String { return _name; }
    public function set Name(value:String):void { _name = value; }

    public function get Selected():Boolean { return _selected; }
    public function set Selected(value:Boolean):void { _selected = value; }

  }
}

Моя Сетка Данных:

<mx:DataGrid dataProvider="{myArrayCollectionOfMyDataObjects}">
  <mx:columns>
    <mx:DataGridColumn headerText="Name" dataField="Name"/>
    <mx:DataGridColumn headerText="Selected" dataField="Selected">
      <mx:itemRenderer>
        <fx:Component>
          <mx:VBox width="100%" height="100%" paddingLeft="2" verticalAlign="middle" horizontalAlign="center" horizontalScrollPolicy="off">
            <mx:CheckBox id="chkSelected" change="{data.Selected = chkSelected.selected}" selected="{data.Selected}" />
          </mx:VBox>
        </fx:Component>
      </mx:itemRenderer>
    </mx:DataGridColumn>
  </mx:columns>
</mx:DataGrid>
0 голосов
/ 25 февраля 2011

Это пример:

If (CType(row.FindControl("chkEmailAlert"), CheckBox).Checked = True) Then
    Arr_EmailAlert(i) = "True"
Else
    Arr_EmailAlert(i) = "False"
End If

, как этот еще один класс, называемый DirectCast, и с помощью метода FindControl мы можем найти идентификатор элемента управления checkBox и значение, чтобы использовать его.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...