new EzSorter(grdopt)
- Description:
Grid 정렬 도구
- 기본 정렬 방침은 해당 헤더와 col index값이 동일한 가장 마지막 body cell을 기준으로 정렬하는 것입니다.
- 정렬 방침을 변경하시려면 head cell에 user property로 sortColumn 에 정렬대상 칼럼명을 기입하세요
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 객체 |
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 |