EzSorter

EzSorter

new EzSorter(grdopt)

Description:
  • Grid 정렬 도구

    • 기본 정렬 방침은 해당 헤더와 col index값이 동일한 가장 마지막 body cell을 기준으로 정렬하는 것입니다.
    • 정렬 방침을 변경하시려면 head cell에 user property로 sortColumn 에 정렬대상 칼럼명을 기입하세요
Author:
  • 이승갑 (dltmdrkq2@gmail.com)
  • 정민석 (whitn86@gmail.com)
Example
this.sorter = new EzSorter(this.Grid00);
Parameters:
Name Type Attributes Description
grd nexacro.Grid <optional>

Members

(static, readonly) keyevent :string

Properties:
Name Type Description
ctrlkey number

0

0 string

ctrlkey

shiftkey number

1

1 string

shiftkey

altkey number

2

2 string

altkey

length string
Type:
  • string

Methods

destroy()

Description:
  • EzSorter의 정보들을 삭제

    EzSorter를 지우기 전 반드시 호출하도록 합니다.

Example
this.sorter = new EzSorter(this.Grid00);
this.sorter.destroy();
this.sorter = null;

makeBindMap(grd)

Description:
  • Grid 정보를 기반으로 bindMap정보를 생성

    bindMap은 { HeadCellIndex : columnName} 형태의 Object 입니다.

Example
var sorter = new EzSorter();
sorter.set_grid(this.Grid00);
sorter.makeBindMap(this.Grid00);
Parameters:
Name Type Description
grd nexacro.Grid

bindMap을 생성할 Grid

removeExceptKeys(…key)

Description:
  • 특정 exceptKey를 해제

    exceptKey는 마우스 클릭과 동시에 입력될 시 Sort처리하지 않을 key입니다
    입력된 key중 exceptKey가 하나라도 존재한다면 Sort처리하지 않습니다.

Example
var sorter = new EzSorter(this.Grid00);
sorter.set_exceptKeys("shiftkey","altkey");
sorter.removeExceptKeys("shiftkey","altkey");
Parameters:
Name Type Attributes Description
key EzSorter.keyevent <repeatable>

exceptKeys로 설정된 키

removeMultiSortKey()

Description:
  • 특정 multiSortKey를 설정해제

    multiSortKey는 마우스 클릭과 동시에 입력될 시 다른 cell의 Sort내역을 유지한 체 현재 cell을 sort하는 key입니다.
    multiSortKey로 key들중 하나라도 입력되지 않는다면, 기존 Sort내역을 무시하고 새로운 sort작업을 수행합니다.

Example
var sorter = new EzSorter(this.Grid00);
sorter.removeMultiSortKey();

set_bindMap(map)

Description:
  • 특수한 형태의 Grid의 경우, bindMap을 개발자가 직접 작성해야 할 경우 사용

    bindMap은 { HeadCellIndex : columnName} 형태의 Object 입니다.

Example
var sorter = new EzSorter();
sorter.set_grid(this.Grid00);
sorter.set_bindMap({
  0 : "COL_01",
  1 : "COL_03",
  2 : "COL_04",
});
Parameters:
Name Type Description
map Object

bindMap 객체
{ HeadCellIndex : columnName} 형태의 Object

set_exceptKeys(…key)

Description:
  • exceptKey를 설정

    exceptKey는 마우스 클릭과 동시에 입력될 시 Sort처리하지 않을 key입니다.
    입력된 key중 exceptKey가 하나라도 존재한다면 Sort처리하지 않습니다.
    같은 key를 multiSortKey로 중복등록하지 않도록 합니다.

Example
var sorter = new EzSorter(this.Grid00);
sorter.set_exceptKeys("shiftkey","altkey");
Parameters:
Name Type Attributes Description
key EzSorter.keyevent <repeatable>

Sort처리하지 않을 key

set_grid(grd, doInitBindMapopt)

Description:
  • EzSorter에 Grid를 세팅한다.

Example
var sorter = new EzSorter();
sorter.set_grid(this.Grid00);
Parameters:
Name Type Attributes Default Description
grd nexacro.Grid

Sorter기능을 부여할 Grid

doInitBindMap Boolean <optional>
false

bindMap 자동 생성 여부

set_multiSortKey(…key)

Description:
  • multiSortKey 설정

    multiSortKey는 마우스 클릭과 동시에 입력될 시 다른 cell의 Sort내역을 유지한 체 현재 cell을 sort하는 key입니다.
    multiSortKey로 key들중 하나라도 입력되지 않는다면, 기존 Sort내역을 무시하고 새로운 sort작업을 수행합니다.
    같은 key를 exceptKey는로 중복등록하지 않도록 합니다.

Example
var sorter = new EzSorter(this.Grid00);
sorter.set_multiSortKey("ctrlkey");
Parameters:
Name Type Attributes Description
key EzSorter.keyevent <repeatable>

다중 sort에 사용될 키

set_sortableCells(…cellopt)

Description:
  • 정렬 가능한 Cell을 지정

    Head가 checkbox이거나, Body에 Dataset의 칼럼이 바인딩 되어있지 않은 경우는 설정 불가능합니다.
    (Sorting의 주체가 Dataset이기 때문에 바인딩 없이는 Sort할 수 없습니다.)

Example
var sorter = new EzSorter(this.Grid00);
sorter.set_sortableCells(1,2,3);
Parameters:
Name Type Attributes Description
cell number <optional>
<repeatable>

Sort기능을 부여할 headcell
입력하지 않을 경우 sort기능을 부여할 수 있는 모든 cell에 기능을 부여