This page was saved using jaction on 2006-09-04 8:33:45.
Address: http://flexdocs.kr/docs/flex2/langref/mx/controls/listClasses/IDropInListItemRenderer.html
Title: mx.controls.listClasses.IDropInListItemRenderer (Flex™ 2 레퍼런스 가이드)  •  Size: 16263
Packagemx.controls.listClasses
인터페이스public interface IDropInListItemRenderer
인프리멘타Button , ComboBox , DataGridItemRenderer , DateField , Image , Label , ListBase , ListItemRenderer , MenuItemRenderer , NumericStepper , TextArea , TextInput , TileListItemRenderer , TreeItemRenderer

"드롭 인" 아이템 렌더러의 인터페이스입니다. 대부분의 IListItemRenderer 는 "드롭 인" 아이템 렌더러가 아닙니다. 그것들은, 데이터 프로바이더 아이템의 특정의 필드를 사용하는 것을 상정하고 있습니다. 예를 들어, 이러한 렌더러로, 아이템의 "lastName" property를 Label 의 text property에 할당하는 일이 있습니다. 이 경우, 데이터 바인딩을 사용해 기술하는 것은 용이한 일입니다. 그러나, 그러면 DataGrid 외 열이나, 다른 필드를 가지는 다른 List 에서는, 이 렌더러를 재사용할 수 없다고 하는 문제가 나옵니다. IDropInListItemRenderer 를 사용하면 렌더러를 재사용할 수 있습니다. 리스트 클래스로부터 렌더러에게 건네지는 정보량이 증가하므로, 실행시에 사용하는 필드를 렌더러측에서 판단할 수 있게 됩니다.

드롭 인 아이템 렌더러 또는 드롭 인 아이템 에디터로서 사용하는 컴퍼넌트는, IDropInListItemRenderer 인터페이스를 Implements할 필요가 있습니다. 많은 Flex 컴퍼넌트는 이 인터페이스를 Implements하고 있으므로, 모든 열이나 리스트로 드롭 인 아이템 렌더러 및 드롭 인 아이템 에디터로서 사용할 수 있습니다.

게다가 드롭 인 아이템 렌더러 또는 드롭 인 아이템 에디터는,data property를 정의하기 위해서 IDataRenderer 인터페이스도 또 Implements할 필요가 있습니다.

드롭 인 아이템 렌더러 또는 드롭 인 아이템 에디터로서 사용하면, 이 컴퍼넌트의 listData property가, 리스트 컨트롤로부터의 해당하는 데이터로 초기화됩니다. 그 후, 컴퍼넌트로 이 listData property를 사용해, 드롭 인 아이템 렌더러 또는 드롭 인 아이템 에디터의 data property를 초기화할 수 있습니다.

listData property의 형태는 BaseListData 로, BaseListData 클래스에는 3 개의 서브 클래스(DataGridListData, ListData, 및 TreeListData)가 있습니다. listData property의 값의 실제의 데이터형은, 드롭 인 아이템 렌더러 또는 아이템 에디터를 사용하고 있는 컨트롤에 응해 다릅니다. DataGrid 컨트롤의 경우, 값은 DataGridListData 형입니다. List 컨트롤의 경우는 ListData 형, Tree 컨트롤의 경우는 TreeListData 형입니다.

다음의 예는, NumericStepper 컨트롤의 data property용의 setter Methods를 나타내고 있습니다. 이것은,listData property의 값에 근거해 NumericStepper 의 value property를 초기화합니다.

public function set data(value:Object) :void
    {
_data = value;
    
this.value = _listData ?  parseFloat(_listData.label) :Number(_data);
    
dispatchEvent(new FlexEvent(FlexEvent.DATA_CHANGE));
    }
  

상기의 예에서는, NumericStepper 컨트롤은 NumericStepper 의 value property의 설정시에 data property를 무시해, 대신에 listData property를 사용합니다.

IDropInListItemRenderer 인터페이스를 Implements하려면 ,listData property를 Implements하는 setter 및 getter Methods를 정의합니다. 보통, setter Methods에서는 listData property의 값을 내부 변수에 기입합니다. 리스트 클래스는 항상, 이 property를 할당한 후,data property로 데이터 프로바이더 아이템을 설정합니다. 대부분의 Implements에서는,listDatadata setter 중(안)에서 다음의 몇개의 방법으로 적용합니다. 즉,data setter 가 invalidateProperties() Methods를 호출한 결과적으로 commitProperties() Methods로 적용하는지, 또는 data setter 가 dataChange 이벤트를 dispatch한 결과적으로, 이 이벤트의 응답 처리로 적용할까의 머지않아인가입니다. getter Methods는, 다음의 예로 가리키도록(듯이), 내부 변수의 현재의 값을 돌려줍니다.

// property치의 내부 변수입니다.
private var _listData:BaseListData;
    
// listData property를 바인드 가능하게 합니다.
[Bindable("dataChange")]
    
// getter Methods의 정의
public function get listData() :BaseListData
    {
return _listData;
    }
    
// setter Methods를 정의합니다.
public function set listData(value:BaseListData) :void
    {
_listData = value;
    }
  

See also

mx.controls.listClasses.BaseListData
mx.core.IDataRenderer


Public property
 property정의
  listData : BaseListData
setter Methods 및 getter Methods를 사용해 listData property를 Implements합니다.
IDropInListItemRenderer
property의 상세
listDataproperty
listData:BaseListData   [read-write]

setter Methods 및 getter Methods를 사용해 listData property를 Implements합니다.

Implements
    public function get listData():BaseListData
    public function set listData(value:BaseListData ):void






 

코멘트가 추가되었을 경우, 메일로 받기. | 코멘트 리포트

현재의 페이지: http://flexdocs.kr/docs/flex2/langref/mx/controls/listClasses/IDropInListItemRenderer.html