소개
요약 | 테이블형 자료를 그리드로 표시 |
|---|---|
기능 및 특징 |
|
주요 용도 |
|
YouTube 동영상 |
|
아래의 주요 속성을 사용하여 GridView의 여러 가지 유용한 기능을 편리하게 사용할 수 있습니다.
속성 | 기능 및 설명 |
|---|---|
autoFit | 화면 전체 폭에 그리드를 출력.
|
visibleRowNum | 페이지 당 표시할 행을 지정.
|
defaultValue | 새로운 행이 추가될 때 표시할 기본 값을 지정. |
hidden | 열 표시/숨김을 지정. |
textAlign | 셀에 표시할 텍스트의 정렬 방향을 지정합니다. |
readOnly | 각 셀 및 그리드 전체에 대해 데이터의 수정을 허용하거나 금지합니다. |
sortable | 해당 열의 정렬 가능 여부를 지정합니다. |
resize | 열의 너비를 사용자가 조정할 수 있도록 허가합니다. |
hideHeader | 헤더를 표시하거나 숨깁니다. |
fixedColumn | 틀고정을 위해 고정할 열의 개수를 지정합니다. |
focusMode focusMove keyMoveEditMode editModeEvent | 포커스 이동, 키 이동, 편집 모드 등을 설정할 수 있습니다. |
tooltipDisplay | 각 셀의 표시되지 못한 데이터를 사용자의 마우스 오버시 풍선 도움말 형태로 보여줍니다. |
colMerge upperColumn | colMerge="true"는 하나의 열에 있는 공통된 값의 행을 하나의 셀로 병합하도록 설정합니다. upperColumn은 하나의 셀 병합 열을 기준으로 다른 열을 셀 병합하도록 기준을 설정합니다. |
데이터 바인딩
GridView에 데이터를 표시하기 위해서는 DataList와의 바인딩이 필요합니다. DataList를 생성한 후, GridView와 바인딩하십시오. 좀 더 자세한 정보는 DataCollection과 Submission 부분을 참고하십시오.
예제 파일
인터넷에서 다운로드 혹은
WEBSQUARE_DEV_PACK의 GUIDE 프로젝트에서 보기
(/GridView/_General/load_add_remove_delete_initilize_view_GridView/)
YouTube 동영상 (https://youtu.be/2JVHeNzkFZ8)
구조
GridView 구조
아래와 같이 GridView 최외곽을 선택하면 GridView 전체에 대한 속성을 지정할 수 있습니다.
Body
gridView.column에서 지정한 다양한 inputType을 통해 Body를 표현할 수 있습니다.
GridView의 경우 dataCollection 객체에서 dataType 속성을 설정할 수 있습니다.
Header
Header 셀도 Body와 마찬가지로 inputType 지정을 통해 다양한 형식을 지정할 수 있습니다. 단, Body가 더 다양한 종류를 지원합니다.
Header 셀을 선택한 후 inputType을 지정하십시오. 헤더에서 사용할 수 있는 inputType 및 dataType의 종류는 다음과 같습니다. (기본 값은 text입니다.)
inputType | 설명 | 미리보기 |
|---|---|---|
text | 일반 텍스트로 표현 | |
text (& dataType = "own") | 셀 값(value)은 참조하려는 body 열의 id를 값으로 갖습니다. 텍스트 입력이 가능. | |
checkbox | 셀 값(value)은 참조하려는 body 열의 id를 값으로 갖습니다. 선택/해제 가능. | |
select | 셀 값(value)은 참조하려는 body 열의 id를 값으로 갖습니다. 단일 선택용. |
inputType 별 속성
Body 셀의 속성과 동일하나, Header 셀에 사용 가능한 속성은 제한적입니다. 아래 표를 참고하십시오.
property | InputType & dataType | |||
|---|---|---|---|---|
text | text & own | checkbox | select | |
allOption | × | × | × | ○ |
chooseOption | × | × | × | ○ |
chooseOptionLabel | × | × | × | ○ |
colspan | ○ | ○ | ○ | ○ |
dataType | ○ | ○ | × | × |
hidden | ○ | ○ | ○ | ○ |
id | ○ | ○ | ○ | ○ |
inputType | ○ | ○ | ○ | ○ |
localeRef | ○ | ○ | × | × |
rowspan | ○ | ○ | ○ | ○ |
sortable | ○ | ○ | ○ | ○ |
textAlign | ○ | ○ | ○ | ○ |
useLocale | × | × | × | ○ |
value | ○ | ○ | ○ | ○ |
width | ○ | ○ | ○ | ○ |
onChangeFunction | × | ○ | ○ | ○ |
아래의 경우 sortable 속성과 필터링 기능을 함께 사용하지 마십시오. (단, multiSort() API와 필터링 기능은 함께 사용할 수 있습니다.)
inputType="text" dataType="own"
inputType="select
Header 병합
동일한 열의 연속된 행을 <Ctrl>을 누른 채 선택하여 병합(rowSpan)할 수 있습니다. 같은 행의 연속된 열도 병합(colSpan)할 수 있습니다.
Header 텍스트 정렬
textAlign 속성으로 텍스트를 좌, 우, 중앙으로 정렬할 수 있습니다. 기본 값은 중앙(center)입니다.
Header 텍스트 설정
Header 셀에 출력할 텍스트는 아래 방법으로 설정가능합니다.
셀을 더블 클릭한 후, '값 수정' 대화 창에 텍스트를 입력합니다.
혹은,
setHeaderValue( headerId , value )API를 통해서 동적으로 변경할 수도 있습니다.
subTotal
subTotal 추가
YouTube 동영상 (https://youtu.be/WsJdYLy8lcU)
GridView에 subTotal을 추가하여, 특정 컬럼에 속한 일부 데이터의 통계값을 계산할 수 있습니다.
GridView 우클릭 후, Add SubTotal 메뉴를 선택합니다.
subTotal 추가
Outline 뷰의 Design 탭에서 추가한
subTotal을 선택한 후,targetColumnID속성 값으로subTotal통계값의 기준이 될 컬럼을 지정합니다.
subTotal의 targetColumnID 지정
subTotal을 표시할 컬럼의inputType을"expression"으로 지정합니다.subTotal을 표시할 컬럼의expression속성 값을 정의합니다.subTotal컬럼이 지원하는 통계 계산식을 사용하십시오.
subTotal을 표시할 컬럼의 inputType 및 expression 속성 지정
다음은 city 컬럼(
"col1")을 기준으로 sales 컬럼("col4")의 소계(sum("col4"))를 계산하여subTotal에 표시한 모습입니다.
subTotal 추가 전
subTotal 추가 후
subTotal 컬럼의 expression 속성에 사용할 수 있는 계산식은 다음과 같습니다.
No. | 함수 | 설명 |
|---|---|---|
1 |
| 총합. |
2 |
| 평균. |
3 |
| 최소값. |
4 |
| 최대값. |
5 |
| 해당 컬럼의 데이터 건 수.
|
주의
GridView의 subTotal 및 total 컬럼이 지원하는 사용하는 계산식과 일반 컬럼이 지원하는 계산식은 서로 차이가 있습니다. (inputType="expression" 참고.)
subtotal 표시/숨기기
setSubtotalVisible(true); 함수를 이용하여 subTotal을 표시할 수 있습니다.
setSubtotalVisible(false); 함수를 이용하여 subTotal을 숨길 수 있습니다.
예제 파일
인터넷에서 다운로드 혹은
WEBSQUARE_DEV_PACK의 GUIDE 프로젝트에서 보기
(/GridView/subTotal/setSubtotalVisible_GridView.xml)
YouTube 동영상 (https://youtu.be/U-IW9JUdi5M)
subtotal 값을 기준으로 서로 다른 CSS 스타일 적용
subtotalStyleFormatter 속성으로 subtotal 데이터에 적용할 CSS 클래스를 판단하는 함수를 지정할 수 있습니다. 즉, 해당 함를 통해 subtotal 데이터에 따라 서로 다른 CSS를 적용할 수 있습니다.
subtotalStyleFormatter="scwin.styleFormatter"인 경우, 아래와 같이 scwin.styleFormatter() 함수를 정의하여, subtotal 데이터에 따라 서로 다른 CSS 클래스를 적용할 수 있습니다. 아래 예시의 경우, subtotal 데이터가 5000보다 크면 w2subtotalbig 클래스가 추가되고, subtotal 데이터가 500이하이면 w2subtotalsmall 클래스가 적용됩니다.
$r_title(subtotalStyleFormatter 속성값으로 지정한 함수 정의 예시)
scwin.styleFormatter = function(value, formattedValue) {
if (value > 5000) {
return "w2subtotalbig";
} else {
return "w2subtotalsmall"
}
}$r_title(스타일 정의 예시) .w2subtotalbig { color: red; } .w2subtotalsmall { color: blue; }
subtotalStyleFormatter=""
subtotalStyleFormatter="scwin.styleFormatter"
예제 파일
인터넷에서 다운로드 혹은
WEBSQUARE_DEV_PACK의 GUIDE 프로젝트에서 보기
(/GridView/subTotal/subtotalStyleFormatter_GridView.xml)
YouTube 동영상 (https://youtu.be/vGa9ayKAHtc)
subtotal 컬럼을 기준으로 서로 다른 CSS 스타일 적용
subtotalStyleFormatter 속성 값으로 지정한 함수는 subtotal 컬럼의 ID(subtotalColumnId)를 세번째 인자로 받습니다. 이 세번째 인자를 사용하여 각 subtotal 컬럼마다 서로 다른 CSS 스타일을 적용할 수 있습니다.
$r_title(함수 구현 예)
scwin.styleFormatter = function(value, formattedValue, subtotalColumnId) {
if (subtotalColumnId == "column16" || subtotalColumnId == "column18) {
return "w2subtotalformatted";
}
else {
return "w2subtotalnotformatted";
}
};예제 파일
인터넷에서 다운로드 혹은
WEBSQUARE_DEV_PACK의 GUIDE 프로젝트에서 보기
(/GridView/subTotal/subtotalStyleFormatter_subtotalColumnId_GridView.xml)
YouTube 동영상 (https://youtu.be/3xh5OE5Mar4)
footer
관련 속성 |
|
|---|
YouTube 동영상 (https://youtu.be/Cs-DeBICs6s)
footer 추가
GridView에 footer를 추가하여, 특정 컬럼 데이터의 통계값을 계산할 수 있습니다.
GridView 우클릭 후, Insert Footer 메뉴를 선택합니다.
footer 추가
footer를 표시할 컬럼의inputType을"expression"으로 지정합니다.footer를 표시할 컬럼의expression속성 값을 정의합니다.footer컬럼이 지원하는 통계 계산식을 사용하십시오.
다음은 sales 컬럼(
"col4")의 합계(sum("col4"))를footer에 표시한 모습입니다.
footer 추가 후
No. | 함수 | 설명 |
|---|---|---|
1 |
| 총합. |
2 |
| 평균. |
3 |
| 최소값. |
4 |
| 최대값. |
5 |
| 해당 컬럼의 데이터 건 수.
|
예제 파일
인터넷에서 다운로드 혹은
WEBSQUARE_DEV_PACK의 GUIDE 프로젝트에서 보기
(GridView/footer/inputType_expression_footer_gridView_column/)
YouTube 동영상 (https://youtu.be/tqulgI92fOU)
footer 타이틀
조건 | 생성 푸터 |
|---|---|
captionTitle="타이틀" footerCaption="푸터" footerCaptionAuto="true" | "푸터" |
captionTitle="타이틀" footerCaption="" footerCaptionAuto="true" | "타이틀의 합계를 나타낸 표" |
푸터 요약(footerSummary) 생성
footerSummaryAuto 속성을 사용하면 아래와 같이 푸터 요약을 자동 생성할 수 있습니다.
조건 | summary |
|---|---|
footerSummaryAuto="false" | 생성되는 summary 없음. |
footerSummaryAuto="true" captionTitle="타이틀" footerSummary="" | summary="타이틀의 합계를 나타낸 표" |
footerSummaryAuto="true" captionTitle="" footerSummary="푸터 요약" | summary="푸터 요약" |
부동 소수점 오류 자동 보정 (SUM 및 AVG 연산)
footer 컬럼의 inputType을 "expression"으로 지정한 후 expression=SUM("column") 혹은 expression=AVG("column") 설정을 추가하여 해당 컬럼의 합계 혹은 평균을 계산할 수 있습니다.
합계나 평균을 구하는 컬럼의 데이터가 소숫점 숫자일 경우, JavaScript의 부동 소수점 오류를 처리하기 위해 아래와 같은 설정이 필요합니다.
바디의 컬럼 (gridView.column) –
dataType="bigDecimal"푸터의 컬럼 (gridView.column) –
dataType="bigDecimal"config.xml 파일에 설정 추가 (하단 참조)
$r_title(config.xml (부동 소수점 오류 처리를 위한 설정))
<engine>
<module src="/websquare/externalJS/big/big.min.js"/>
</engine>단, 위의 처리는 모두 2020년 11월 전에 릴리즈된 엔진에 해당합니다. 2020년 11월 이후 출시된 에진의 경우 GridView의 SUM 및 AVG 연산에 대해 JavaScript의 부동 소수점 오류를 자동 처리합니다
inputType="expression" expression='SUM'("columnID")
예제 파일
인터넷에서 다운로드 혹은
WEBSQUARE_DEV_PACK의 GUIDE 프로젝트에서 보기
(/GridView/footer/inputType_expression_SUM_gridView_column/)
YouTube 동영상 (https://youtu.be/L1GGULl6cFA)
inputType="expression" expression='AVG'("columnID")
예제 파일
인터넷에서 다운로드 혹은
WEBSQUARE_DEV_PACK의 GUIDE 프로젝트에서 보기
(/GridView/footer/inputType_expression_AVG_gridView_column.xml)
YouTube 동영상 (https://youtu.be/ojd55iLjAOg)
조건부 합계 표시
footer 컬럼의 inputType을 "expression"으로 지정한 후 한 개 혹은 여러 조건을 설정하여 해당 조건을 만족하는 합계를 구할 수 있습니다.
$r_title("sumif" 사용 예 – 조건이 한 개인 경우)
// col3의 값이 Freezer인 경우, col4 컬럼의 합계.
expression="sumif('col4', 'Freezer', 'col3’)"$r_title("sumif" 사용 예 – 조건이 여러 개인 경우)
// col3의 값은 TV이고 col1의 값은 Asia인 경우 col4 컬럼의 합계.
expression="sumifs('col4', 'TV', 'col3','Asia', 'col1')"예제 파일
인터넷에서 다운로드 혹은
WEBSQUARE_DEV_PACK의 GUIDE 프로젝트에서 보기
(/GridView/footer/inputType_expression_sumif_sumifs_gridView_column.xml)
YouTube 동영상 (https://youtu.be/mgx5RrhrgsU)
footer 값 확인
getFooterData() 함수를 사용하면, footer 컬럼의 ID 혹은 인덱스를 지정하여 해당 footer 값을 확인할 수 있습니다.
YouTube 동영상 (https://youtu.be/u1TYaMl_enY)
inputType
inputType 설정
각 컬럼의 inputType을 서로 다르게 지정할 수 있습니다.
예제 파일
인터넷에서 다운로드 혹은
WEBSQUARE_DEV_PACK의 GUIDE 프로젝트에서 보기
(/GridView/inpuType/inputType_checkbox_select_gridView_column.xml)
YouTube 동영상 (https://youtu.be/kiyeMLD5PNs)
inputType 별 속성
inputType에 따라 Body 칼럼에 지정할 수 있는 속성이 달라집니다. 좀 더 자세한 정보는 API 가이드에서 확인하십시오.
inpuType 동적 변경
inputType="custom"
inputType 동적 변경 (typeGetter)
설명 |
|
|---|---|
사용 방법 |
|
lazy="false"를 설정하는 이유
typeGetter로 지정한 함수는 GridView가 렌더링될 때 로딩해야 해당 함수에 의해 GridView의 inputType을 동적으로 변경할 수 있습니다.
예제 파일
인터넷에서 다운로드 혹은
WEBSQUARE_DEV_PACK의 GUIDE 프로젝트에서 보기
(/GridView/inputType/inputType_custom_typeGetter_gridView_column.xml)
YouTube 동영상 (https://youtu.be/NSicuP53ywk)
$r_title(typeGetter="getType"인 경우 해당 함수 정의 예시)
getType = function(info) {
var rowIndex = info.rowIndex;
var colIndex = info.colIndex;
var returnInfo;
if (dataList1.getCellData(rowIndex, "Age") < 40 && dataList1.getCellData(rowIndex, "Age") > 29) {
returnInfo = {
id: "dynamic_select_" + rowIndex + "_" + colIndex,
inputType: "button",
options: {
viewType: "icon"
}
};
} else {
returnInfo = {
id: "dynamic_text_" + rowIndex + "_" + colIndex,
inputType: "text",
options: {}
};
}
if (returnInfo) {
console.log("[typeGetter] (" + rowIndex + ", " + colIndex + ") : " + returnInfo.inputType);
}
return returnInfo;
};typeGetter로 지정할 함수의 인자와 반환값은 아래와 같습니다.
인자 | 반환 값 |
|---|---|
|
|
$r_title(typeGetter의 반환 값 예제)
returnInfo = {
id: "dynamic_select_" + cnt,
inputType: "select",
options: {
viewType: "icon"
},
itemSet: {
nodeset: "data:dataList2",
label: "label",
value: "value"
},
value: "select"
}inputType 동적 변경 (setCellInputTypeCustom & setCellInputType())
GridView의 컬럼이 inputType="custom"인 경우, setCellInputTypeCustom="true" 설정과 setCellInputType() 함수를 사용하여 해당 컬럼에 속한 특정 셀의 inputType을 동적으로 변경할 수 있습니다.
예제 파일
인터넷에서 다운로드 혹은
WEBSQUARE_DEV_PACK의 GUIDE 프로젝트에서 보기
(/GridView/inputType/setCellInputType_setCellInputTypeCustom_GridView/)
YouTube 동영상 (https://youtu.be/GaGi7q3_Lps)
inputType 종류
열의 inputType의 종류는 다음과 같습니다. 기본 값은 text입니다.
종류 | 설명 | 미리보기 |
|---|---|---|
text | 일반 텍스트 (InputBox와 비슷.) | |
link | 밑줄 쳐진 강조된 텍스트 | |
checkbox | true/false에 따라 다중 행 선택 | |
button | 버튼 | |
image | 이미지 | |
radio | true/false 단일 행 선택 | |
select | SelectBox처럼 셀 값과 같은 value의 label을 선택 | |
calendar | 달력 아이콘 표시 달력 아이콘에서 날짜 형태 선택 (기본 형식: yyyy-MM-dd) (InputCalendar와 비슷.) | |
expression | 함수를 사용하여 텍스트를 표현 다른 컬럼을 참조하여 새로운 데이터를 생성하는 사용자 정의 함수 등록 가능 예시: | |
textarea | 여러 줄의 텍스트 | |
drilldown | +/- 버튼이 있는 트리 형태 | |
textImage | 일반 텍스트로 표현하며, 아이콘을 보여준다. 이벤트처리함수( | |
checkcombobox | CheckBox와 SelectBox가 결합된 형태. 한 개 이상의 항목 선택 가능. | |
autoComplete | 텍스트 자동 완성 | |
secret | 텍스트를 감추어 표시 |
inputType="autoComplete"
소개
inputType="autoComplete"
예제 파일
인터넷에서 다운로드 혹은
WEBSQUARE_DEV_PACK의 GUIDE 프로젝트에서 보기
(/GridView/inputType/inputType_autoComplete_gridView_column.xml)
YouTube 동영상 (https://youtu.be/IEJiQnLUlxQ)
directOpen
viewType="icon" 및 viewTypeIconImage="true" 설정을 사용할 경우, GridView의 autoComplete 상자에 화살표 이미지가 표시됩니다. 이 경우, directOpen="true" 설정을 추가하면 화살표 이미지 클릭만으로 아이템 목록을 바로 펼칠 수 있습니다.
directOpen="true"
directOpen="false"인 경우, 화살표 이미지를 클릭하면 해당 셀만 선택합니다. 화살표 이미지를 더블 클릭해야 아이템 목록이 펼쳐집니다.
directOpen="false"
예제 파일
인터넷에서 다운로드 혹은
WEBSQUARE_DEV_PACK의 GUIDE 프로젝트에서 보기
(/GridView/inputType/inputType_autoComplete_directOpen_gridView_column.xml)
YouTube 동영상 (https://youtu.be/hGZhEpgzH0s)
displayMode 및 delimiter 동적 설정
setDisplayMode() 및 setDelimiter() 함수를 사용하면 그리드뷰 컬럼(gridView.column)의 displayMode 및 delimiter 속성을 동적으로 변경할 수 있습니다. 단, 아래의 inputType 컬럼에 한해 지원합니다.
inputType="autoComplete"inputType="checkcombobox"inputtype="select"
displayMode
$r_title(사용 예) // gridView1의 컬럼 중 // index가 2인 컬럼의 displayMode 속성값을 "value delim label"로 지정. gridView1.setDisplayMode(2, "label delim value");
예제 파일
인터넷에서 다운로드 혹은
WEBSQUARE_DEV_PACK의 GUIDE 프로젝트에서 보기
(/GridView/inputType/setDisplayMode_GridView.xml)
YouTube 동영상 (https://youtu.be/zYHD84kaN4Y)
delimiter
$r_title(사용 예) // gridView1의 컬럼 중 // index="2" 컬럼에 delimiter=" || " 설정. gridView1.setDelimiter(2, " || ");
예제 파일
인터넷에서 다운로드 혹은
WEBSQUARE_DEV_PACK의 GUIDE 프로젝트에서 보기
(/GridView/inputType/setDelimiter_GridView.xml)
YouTube 동영상 (https://youtu.be/jcE6477rwcc)
inputType="calendar"
날짜 입력 순서 및 표시 형식 지정
dataType="date" inputType="calendar" 컬럼의 경우, setColumnIoFormat(options); 함수를 이용하여 (1) 날짜 입력 형식 (2) 입력란의 날짜 출력 형식 (3) 달력의 날짜 출력 형식을 지정할 수 있습니다.
$r_title(setColumnIoFormat)
gridView1.setColumnIoFormat(
{
colIndex: "col2" ,
ioFormat:"ddMMyyyy",
dateMask:"dd-MM-yyyy",
useMonthYearFormat:true,
calendarDisplayFormat:"dd-MM-yyyy"
}
);예제 파일
인터넷에서 다운로드 혹은
WEBSQUARE_DEV_PACK의 GUIDE 프로젝트에서 보기
(/GridView/inputType/inputType_calendar_setColumnIoFormat_gridView_column.xml)
YouTube 동영상 (https://youtu.be/T-qhSZ7K3Tk)
연도 및 월 선택 방식 설정
inputType="calendar" 컬럼의 경우, pickerType 및 fixPickerStatus 속성을 사용하여 연도와 월 선택 방식을 설정할 수 있습니다.
pickerType="selectbox"
pickerType="dynamic"
fixPickerStatus="default"
fixPickerStatus="month"
예제 파일
인터넷에서 다운로드 혹은
WEBSQUARE_DEV_PACK의 GUIDE 프로젝트에서 보기
(/GridView/inputType/inputType_calendar_pickerType_fixPickerStatus_gridView_column.xml)
YouTube 동영상 (https://youtu.be/wKSARWUQoI4)
inputType="checkbox"
checkboxLabelColumn
inputType="checkbox" 컬럼의 경우, 다른 칼럼의 값을 조합하여 CheckBox 라벨 값으로 사용할 수 있습니다. checkboxLabelColumn 속성으로 조합할 GridView 바디 컬럼의 ID를 지정하십시오.
checkboxLabelColumn=""
checkboxLabelColumn="Status,Hobby"
예제 파일
인터넷에서 다운로드 혹은
WEBSQUARE_DEV_PACK의 GUIDE 프로젝트에서 보기
(/GridView/_General/checkboxLabelColumn_radioLabelColumn_gridView_column/)
YouTube 동영상 (https://youtu.be/3AzVyG6XZ6k)
checkAll()
checkAll() 함수를 사용하면 inputType="checkbox"의 컬럼의 체크박스를 한번에 선택하거나 선택 해제할 수 있습니다.
$r_title(checkAll() 사용 예시)
// id="chk" 컬럼의 체크박스를 모두 선택.
gridView1.checkAll("chk", true);
// id="chk" 컬럼의 체크박스를 모두 선택 해제.
gridView1.checkAll("chk", false);체크박스가 모두 선택된 모습
체크박스가 모두 선택 해제된 모습
YouTube 동영상 (https://youtu.be/b1UcSFvlJMY)
checkAllType
헤더가 inputType="checkbox"의 경우, 헤더의 체크박스를 통해 전체 셀을 선택할 때 disabled이거나 readOnly 상태의 셀을 셀 상태 판단에 포함할지 여부를 결정할 수 있습니다.
아래의 예제에서 두 행은 선택 상태가 아니고 이 두 행의 상태를 셀 상태 판단에 포함("include")됩니다. 그 결과, 두 셀을 포함하면, 모든 셀이 선택된 것으로 볼 수 없기 때문에 부분 선택 기호가 표시되었습니다.
checkAllType="include"
아래의 예제에서 두 행은 선택 상태가 아니고 이 두 행의 상태는 셀 상태 판단에서 제외("exclude")됩니다. 그 결과 두 셀을 제외한 모든 셀이 선택된 것으로 볼 수 있기 때문에 전체 선택 기호가 표시되었습니다.
checkAllType="exclude"
예제 파일
인터넷에서 다운로드 혹은
WEBSQUARE_DEV_PACK의 GUIDE 프로젝트에서 보기
(/GridView/_General/checkAllType_GridView.xml)
YouTube 동영상 (https://youtu.be/LzioAerK1g0)
partialCheckNextClick
GridView의 inputType="checkbox" 컬럼에서 일부 행들을 선택한 후, 헤더의 체크박스를 선택할 경우, 전체 행들의 체크박스를 모두 선택할 것인지 혹은 모두 선택 해제할 것인지를 결정할 수 있습니다. 모두 선택할 경우 particalCheckNextClick 속성을 "check"로, 모두 선택 해제할 경우 "uncheck"로 선택해야 합니다.
particalCheckNextClick="uncheck"
particalCheckNextClick="check"
예제 파일
인터넷에서 다운로드 혹은
WEBSQUARE_DEV_PACK의 GUIDE 프로젝트에서 보기
(/GridView/inputType/inputType_checkbox_partialCheckNextClick_gridView_column.xml)
YouTube 동영상 (https://youtu.be/GQtn0YSOPmc)
inputType="checkbox" 혹은 inputType="selet" 열에서 체크한 행의 인덱스 및 데이터 확인
inputType="checkbox" 혹은 inputType="select" 칼럼의 경우 아래 함수를 이용하여 체크한 행의 데이터를 확인할 수 있습니다.
getCheckedIndex();
getCheckedData();
getCheckedJSON();
getCheckedXML();
예제 파일
인터넷에서 다운로드 혹은
WEBSQUARE_DEV_PACK의 GUIDE 프로젝트에서 보기
(/GridView/_General/getCheckedXXX_Gridview.xml)
YouTube 동영상 (https://youtu.be/3HiSk4YkkT4)
체크한 행 삭제/제거
inputType="checkbox" 컬럼을 추가한 후, 해당 컬럼에서 체크된 행들을 삭제/제거(delete/remove)할 수 있습니다.
- 관련 API
inputType=“checkbox” (gridView.column)
rowStatusVisible=“true” (gridView)
getCheckedIndex(“colID”); (gridView)
ignoreStatus=“true” (dataList)
deleteRows(Arr); (dataList)
removeRows(Arr); (dataList)
예제 파일
인터넷에서 다운로드 혹은
WEBSQUARE_DEV_PACK의 GUIDE 프로젝트에서 보기
(/GridView/inputType/inputType_checkbox_gridView_column/)
YouTube 동영상 (https://youtu.be/UF44Y8TMKOs)
Shift 키를 사용하여 여러 셀들을 한번에 체크하여 선택
useShiftKeyCheck="true" 속성 설정을 적용하면 inputType="checkbox" 컬럼의 체크박스를 Shift 키를 사용하여 선택할 경우, 선택된 체크박스 사이의 연속된 셀들을 모두 선택할 수 있습니다.
예제 파일
인터넷에서 다운로드 혹은
WEBSQUARE_DEV_PACK의 GUIDE 프로젝트에서 보기
(/GridView/inpuType/inputType_checkbox_useShiftKey_useShiftKeyCheck_GridView.xml)
YouTube 동영상 (https://youtu.be/pSTt1MH9vAY)
inputType="checkcombobox"
소개
inputType="checkcombobox"
예제 파일
인터넷에서 다운로드 혹은
WEBSQUARE_DEV_PACK의 GUIDE 프로젝트에서 보기
(/GridView/inputType/inputType_checkcombobox_gridView_column.xml)
YouTube 동영상 (https://youtu.be/4EHQtRAoEV4)
inputType="drilldown"
소개
GridView의 각 행을 메뉴 형식으로 접고 펼수 있는 드릴다운 형태의 컬럼을 설정할 수 있습니다. 단, 메뉴단계에 대한 데이터를 담고 있는 컬럼이 존재해야 하며, 해당 컬럼을 depthColumn 속성으로 지정해야 합니다. 이 외에도 관련된 속성은 아래와 같습니다.
| 메뉴 단계에 대한 정보를 담고 있는 컬럼. |
|---|---|
| GridView에 표시할 메뉴 단계. |
| 상위 메뉴 및 하위의 메뉴를 표시하는 방법. |
inputType="drilldown"
예제 파일
인터넷에서 다운로드 혹은
WEBSQUARE_DEV_PACK의 GUIDE 프로젝트에서 보기
(/GridView/inputType/inputType_drilldown_gridView_column/)
YouTube 동영상 (https://youtu.be/S87KThzT_SY)
Enter 키로 목록 열기/닫기
drilldownToggle="enter" 설정을 추가하면, inputType="drilldown" 컬럼의 목록을 Enter 키를 통해 열고 닫을 수 있습니다.
YouTube 동영상 (https://youtu.be/_w0u0yvnkug)
모바일 환경에서 셀 터치로 목록 열기/닫기
단, 모바일 환경에서는 drilldownToggle="enter" 설정 외에 hammerEnabled="true" 설정을 추가하십시오. 이 경우, inputType=“drilldown” 컬럼에서 목록 기호가 있는 셀을 터치하여 목록을 열고 닫을 수 있습니다.
예제 파일
인터넷에서 다운로드 혹은
WEBSQUARE_DEV_PACK에서 보기
(/GridView/Mobile/drilldownToggle_hammerEnabled_GridView.xml)
YouTube 동영상 (https://youtu.be/K8ACGkL6xio)
inputType="expression"
일반 컬럼, subTotal, 혹은 footer 컬럼의 경우 inputType을 "expression"으로 지정한 후, 직접 계산식을 정의하여 사용할 수 있습니다.
일반 컬럼
No. | 함수 | 설명 |
|---|---|---|
1 |
| 총합. |
2 |
| 평균. |
3 |
| 최소값. |
4 |
| 최대값. |
5 |
| 행 인덱스. |
6 |
| 행 상태. |
7 |
| 지정한 컬럼의 값. |
8 |
| 사용자 정의함수에서 사용 가능. |
9 |
subTotal 및 footer 컬럼
No. | 함수 | 설명 |
|---|---|---|
1 |
| 총합. |
2 |
| 평균. |
3 |
| 최소값. |
4 |
| 최대값. |
5 |
| 해당 컬럼의 데이터 건 수.
|
inputType="radio"
radioLabelColumn
inputType="radio" 컬럼의 경우, 다른 칼럼의 값을 조합하여 Radio 라벨 값으로 사용할 수 있습니다. radioLabelColumn 속성으로 조합할 GridView 바디 컬럼의 ID를 지정하십시오.
radioLabelColumn=""
radioLabelColumn="Hobby,Region,Frequency"
예제 파일
인터넷에서 다운로드 혹은
WEBSQUARE_DEV_PACK의 GUIDE 프로젝트에서 보기
(/GridView/_General/checkboxLabelColumn_radioLabelColumn_gridView_column/)
YouTube 동영상 (https://youtu.be/3AzVyG6XZ6k)
inputType="select"
inputType="select"
예제 파일
인터넷에서 다운로드 혹은
WEBSQUARE_DEV_PACK의 GUIDE 프로젝트에서 보기
(/GridView/inputType/inputType_select_gridView_column.xml)
YouTube 동영상 (https://youtu.be/QwmMkijoymM)
inputType="spinner"
inputType="spinner"
최소값 및 최대값 설정
inputType="spinner" 컬럼의 경우, min 및 max 속성으로 최소값과 최대값을 지정할 수 있습니다.
예제 파일
인터넷에서 다운로드 혹은
WEBSQUARE_DEV_PACK의 GUIDE 프로젝트에서 보기
(/GridView/inputType/inputType_spinner_min_max_gridView_column.xml)
YouTube 동영상 (https://youtu.be/brUpez4WXvc)
아이콘 표시
inputType="spinner" 컬럼의 viewType="icon" 설정을 추가하면 해당 컬럼의 셀에 화살표 아이콘을 표시할 수 있습니다.
YouTube 동영상 (https://youtu.be/hfi2sQqtKsU)
inputType="text"
사용 금지 문자 지정
gnoreChar 속성 혹은 setIgnoreChar() 함수를 사용하여 inputType이 "text", "textImage", 혹은 "secret"인 컬럼에서 금지할 문자를 지정할 수 있습니다.
$r_title(사용 예)
// column1의 inputType은 "text", "textImage", "secret" 중 하나.
// column1에 영문 대소문자 입력 제한.
gridView1.setIgnoreChar("column1", "a-zA-Z");inputType="textImage"
텍스트와 이미지 표시 순서 (imageAlign)
inputType="textImage" 컬럼에서 imageAlign 설정을 이용하여 컬럼의 아이콘 이미지를 컬럼의 왼쪽이나 오른쪽에 표시할 수 있습니다.
inputType="textImage" imageAlign="left"
inputType="textImage" imageAlign="right"
예제 파일
인터넷에서 다운로드 혹은
WEBSQUARE_DEV_PACK의 GUIDE 프로젝트에서 보기
(/GridView/gridView.column/imageAlign_gridView_column/)
YouTube 동영상 (https://youtu.be/tmJwhCkyO_g)
셀 렌더링 방식 (textImageRenderType)
inputType="textImage" 컬럼의 셀들을 렌더링하는 방법을 지정할 수 있습니다. textImageRenderType 속성 값을 아래와 같이 지정하십시오.
"component"(기본 값) :<table>태그로 렌더링"div": 텍스트 영역은<div>태그로, 이미지는<button>태그로 렌더링.
다음은 GridView를 브라우저에서 렌더링한 후 개발자 도구를 통해 HTML 태그들을 확인한 모습입니다.
textImageRenderType="component" (기본 값)
textImageRenderType="div"
inputType에 따른 아이콘 표시
설명 |
|
|---|---|
관련 API |
|
viewType
예제 파일
인터넷에서 다운로드 혹은
WEBSQUARE_DEV_PACK의 GUIDE 프로젝트에서 보기
(/GridView/inputType/viewType_inputType_gridView_column.xml)
YouTube 동영상 (https://youtu.be/_wk3gTOxPt4)
inputType에 따른 일부 선택 항목 숨기기
gridView.column의 inputType이 아래 중 하나이고, DataList와 바인딩하여 선택 항목을 표시할 경우, setColumnVisibleColumn() 함수를 사용하여 일부 선택 항목을 숨길 수 있습니다.
inputType="autoComplete"inputType="checkbox"inputType="checkcombobox"inputType="radio"inputType="select"
숨길 항목은 GridView 컬럼과 바인딩된 DataList의 특정 컬럼의 값을 기준으로 결정할 수 있습니다. 아래와 같이 setColumnVisibleColumn() 함수의 파라미터로 GridView 컬럼과, DataList의 컬럼, 그리고 숨김 처리 조건으로 사용할 DataList 컬럼의 값을 명시하십시오.
$r_title(사용 예)
// (조건)
// GridView의 column1은 inputType="select"이고,
// column1은 dataList1과 바인딩되어 있음.
// (실행)
gridView1.setColumnVisibleColumn("column1", "Type", "true");
// (결과)
// dataList1에서 Type 컬럼의 값이 "true"인 행들은,
// GridView의 column1의 선택 항목 목록에서 숨김 처리되어 표시되지 않음.예제 파일
인터넷에서 다운로드 혹은
WEBSQUARE_DEV_PACK의 GUIDE 프로젝트에서 보기
(/GridView/_General/setColumnVisibleColumn_GridView/)
YouTube 동영상 (https://youtu.be/TG3nZBI8msE)
inputType에 따른 일부 선택 항목 비활성화하기
gridView.column의 inputType이 아래 중 하나이고, DataList와 바인딩하여 선택 항목을 표시할 경우, setColumnEnableColumn() 함수를 사용하여 일부 선택 항목을 비활성화할 수 있습니다.
inputType="autoComplete"inputType="checkbox"inputType="checkcombobox"inputType="radio"inputType="select"
비활성화할 항목은 GridView 컬럼과 바인딩된 DataList의 특정 컬럼의 값을 기준으로 결정할 수 있습니다. 아래와 같이 setEnableColumn() 함수의 파라미터로 GridView 컬럼과, DataList의 컬럼, 그리고 비활성화 조건으로 사용할 DataList 컬럼의 값을 명시하십시오.
$r_title(사용 예)
// (조건)
// GridView의 column1은 inputType="select"이고,
// column1은 dataList1과 바인딩되어 있음.
// (실행)
gridView1.setColumnEnableColumn("column1", "Type", "false");
// (결과)
// dataList1에서 Type 컬럼의 값이 "false"인 행들은,
// GridView의 column1의 선택 항목 목록에서 비활성화되어 표시됨.예제 파일
인터넷에서 다운로드 혹은
WEBSQUARE_DEV_PACK의 GUIDE 프로젝트에서 보기
(/GridView/_General/setColumnEnableColumn_GridView.xml)
YouTube 동영상 (https://youtu.be/0IybbS4LnxU)
gridView.column
GridView의 각 컬럼을 선택한 후 해당 컬럼의 속성을 설정할 수 있습니다.
GridView 컬럼의 dataType 확인 및 변경
setDataType 및 getDataType 함수를 사용하여 GridView 컬럼의 dataType을 변경할 수 있습니다.
$r_title(사용 예) gridView1.getDataType ( “col1” ); // 리턴 값 (예시) : "text" gridView1.setDataType ( “col1”, “float” ); // col1 컬럼의 dataType을 float로 변경.
예제 파일
인터넷에서 다운로드 혹은
WEBSQUARE_DEV_PACK의 GUIDE 프로젝트에서 보기
(/GridView/_General/setDataType_getDataType_GridView.xml)
YouTube 동영상 (https://youtu.be/5jcVHiTcUuQ)
dataType="date"로 변경하고 displayFormat 설정
$r_title(사용 예)
var options = {
displayFormat: "dd-MM-yyyy"
}
gridview1.setDataType("New", "date", options);예제 파일
인터넷에서 다운로드 혹은
WEBSQUARE_DEV_PACK의 GUIDE 프로젝트에서 보기
(/GridView/_General/setDataType_date_GridView.xml)
YouTube 동영상 (https://youtu.be/fOV1CcG-ohE)
컬럼 숨기기
hidden 속성을 이용하여 열을 숨길 수 있습니다. 또한, setColumnVisible(colIndex, colVisible) API를 사용하여 열 숨기기 기능을 동적으로 사용할 수 있습니다.
$r_title(사용 예) <w2:column id="openDate" style="height:70px" inputType="calendar" width="70" rowSpan="2" displayFormat="yyyy.MM.dd" hidden="true"></w2:column> <w2:column id="nation" style="height:70px" inputType="text" width="70" rowSpan="2" hidden="true"></w2:column>
또한, setColumnVisible(colIndex, colVisible) API를 사용하여 열 숨기기 기능을 동적으로 사용할 수 있습니다.
텍스트 정렬
textAlign 속성으로 텍스트를 좌, 우, 중앙으로 정렬할 수 있습니다. 기본 값은 중앙(center)입니다.
$r_title(사용 예) <w2:column id="orgtitle" style="height:35px" inputType="text" width="200" defaultValue="영화제목" textAlign="left"></w2:column> <w2:column id="userRating" style="height:70px" width="60" inputType="text" rowSpan="2" dataType="number" displayFormat="##.#" defaultValue="0" textAlign="right"></w2:column>
포맷/포맷터
displayFormat
gridView.colum의 displayFormat 속성을 사용하여 해당 컬럼의 데이터 표시 형식을 설정할 수 있습니다.
예제 파일
인터넷에서 다운로드 혹은
WEBSQUARE_DEV_PACK의 GUIDE 프로젝트에서 보기
(/GridView/gridView.column/displayFormat_gridView_column.xml)
YouTube 동영상 (https://youtu.be/6Zeh7zcZrHU)
displayFormatter
gridView.colum의 displayFormatter 속성으로 함수명을 지정한 후 해당 함수를 별도로 정의하여, 해당 컬럼의 데이터 표시 형식을 설정할 수 있습니다.
예제 파일
인터넷에서 다운로드 혹은
WEBSQUARE_DEV_PACK의 GUIDE 프로젝트에서 보기
(/GridView/gridView.column/displayFormatter_gridView_column.xml)
YouTube 동영상 (https://youtu.be/rpAfKJRLKqA)
customFormatter
gridView.colum의 customFormatter 속성으로 함수명을 지정한 후 해당 함수를 별도로 정의하여, 해당 컬럼의 데이터 표시 형식을 설정할 수 있습니다.
단, 해당 컬럼의 inputType이 아래와 같은 경우에만 유효합니다.
"text"
"link"
"textImage"
"textarea"
"select"
"expression"
"spinner"
예제 파일
인터넷에서 다운로드 혹은
WEBSQUARE_DEV_PACK의 GUIDE 프로젝트에서 보기
(/GridView/gridView.column/customFormatter_gridView_column.xml)
YouTube 동영상 (https://youtu.be/I3IWomt4n7o)
displayFormatter 및 customerFormatter 동적 변경
setCellDisplayFormatter 및 setCellCustomFormatter 함수를 사용하여 각 셀의 displayFormatter 및 customerFormatter 속성을 동적으로 변경할 수 있습니다.
설명 |
|
|---|---|
사용법 2 |
|
사용법 2 |
|
적용 대상 셀 |
|
$r_title(사용 예 (setCellDisplayFormatter))
scwin.displayFormatter = function(param){
return "** " + param + " **";
};
....
grd.setCellDisplayFormatter( 2, 2, 'scwin.displayFormatter');
...$r_title(사용 예 (setCellCustomFormatter))
scwin.customFormatter = function(data, formattedData, rowIndex, colIndex ){
return "[[ " + data + " ]]";
};
....
grd.setCellCustomFormatter( 2, 2, 'scwin.customFormatter' );
...dataList.column - importFormatter
dataList.column의 importFormatter 속성으로 사용자 정의 함수를 지정한 후, 해당 함수를 통해 컬럼의 데이터를 변경할 수 있습니다.
예제 파일
인터넷에서 다운로드 혹은
WEBSQUARE_DEV_PACK의 GUIDE 프로젝트에서 보기
(/_DataCollection/importFormatter_dataList_column.xml)
YouTube 동영상 (https://youtu.be/0rb9R-itwAQ)
GridView 이벤트
GridView를 우클릭한 후 Event – 추가할 이벤트를 선택 후, 해당 로직을 추가하여 이벤트를 추가할 있습니다.
GridView 이벤트 추가
onsort
sortable="true" 속성 설정이 적용된 헤더를 클릭하거나 더블 클릭하여 정렬을 수행할 경우 onsort 이벤트가 발생합니다.
예제 파일
인터넷에서 다운로드 혹은
WEBSQUARE_DEV_PACK의 GUIDE 프로젝트에서 보기
(/GridView/Events/adding_event_example_onsort_GridView.xml)
YouTube 동영상 (https://youtu.be/lmR6qWDyeqQ)
oncellclick
GridView 셀을 클릭할 경우 oncellclick 이벤트가 발생하며 클릭된 셀의 행 인덱스, 열 인덱스, 컬럼 ID를 인자로 전달합니다.
YouTube 동영상 (https://youtu.be/VNIi6KxFbV8)
oncelldblclick
GridView 셀을 더블-클릭할 경우 oncelldblclick 이벤트가 발생하며 클릭된 셀의 행 인덱스, 열 인덱스, 컬럼 ID를 인자로 전달합니다.
예제 파일
인터넷에서 다운로드 혹은
WEBSQUARE_DEV_PACK의 GUIDE 프로젝트에서 보기
(/GridView/Events/oncelldblclick_GridView.xml)
YouTube 동영상 (https://youtu.be/6tF7LMesjgM)
onscrollstart
onscrollstart 이벤트는 세로 스크롤이 그리드뷰 상단에 닿을 때 발생합니다. alwaysTriggerScrollStart="true" 설정을 적용하면 세로 스크롤이 상단에 닿을 때마다 onscrollstart 이벤트가 발생합니다.
예제 파일
인터넷에서 다운로드 혹은
WEBSQUARE_DEV_PACK의 GUIDE 프로젝트에서 보기
(/GridView/Events/onscrollstart_alwaysTriggerScrollStart_GridView/)
YouTube 동영상 (https://youtu.be/x9bKnWeS3OA)
ondateselect & onmonthselect & onyearselect
예제 파일
인터넷에서 다운로드 혹은
WEBSQUARE_DEV_PACK의 GUIDE 프로젝트에서 보기
(/GridView/Events/ondateselect_onmonthselect_onyearselect_GridView.xml)
YouTube 동영상 (https://youtu.be/-2yFh9y4rcQ)
oncontextopen
oncontextopen 이벤트는 GridView의 컨텍스트 메뉴가 표시될 때 발생하며, 반환하는 값은 아래와 같습니다.
rowIndex: 클릭된 셀의 행 인덱스. (헤더인 경우 -1을 반환.)colIndex: 클릭된 셀의 열 인덱스.focusedCell: 포커스된 셀의 좌표를 담은 1차원 배열.info.isHeader: 클릭된 셀이 헤더인지 여부.info.headerId: 클릭된 셀이 헤더일 경우, 헤더의 ID.
$r_title(사용 예)
scwin.gridView1_oncontextopen = function(rowIndex, colIndex, focusedCell,
info) {
var logStr = "rowIndex=" + rowIndex + ", colIndex=" + colIndex
+ ", isHeader=" + info.isHeader + ", headerId=" + info.headerId;
WebSquare.logger.printLog(logStr);
console.log(logStr);
}YouTube 동영상 (https://youtu.be/2sRK1QVpSZo)
onheadermouseover & onheadermouseout
onheadermouseover 및 onheadermouseout 이벤트는 GridView 헤더에 마우스를 대거나 (마우스 오버) 마우스를 뺄 때 (마우스 아웃) 발생하며, 반환하는 값은 아래와 같습니다.
info.id: GridView의 ID.info.header_id: 클릭된 GridView 헤더의 ID.
$r_title(사용 예)
scwin.gridView1_onheadermouseover = function(info) {
alert(info.id + " & " + info.header_id);
};
scwin.gridView1_onheadermouseout = function(info) {
alert(info.id + " & " + info.header_id);
};예제 파일
인터넷에서 다운로드 혹은
WEBSQUARE_DEV_PACK의 GUIDE 프로젝트에서 보기
(/GridView/Events/onheadermouseover_onheadermouseout_GridView.xml)
YouTube 동영상 (https://youtu.be/scCOCdn5lLU)
GridView 주요 기능
틀 고정
열 고정
설명 |
|
|---|---|
관련 API |
|
비고 |
|
YouTube 동영상 (https://youtu.be/Kxh6WwZUUWo)
YouTube 동영상 (https://youtu.be/vXsMm4ydtY4)
고정된 열의 이동을 허용하거나 방지하기
fixedColumn 및 columMove 속성을 사용하여 열(들)을 고정할 경우, fixedColumnNoMove 속성을 사용하여 고정된 열(들)의 이동을 허용하거나 방지할 수 있습니다.
예제 파일
인터넷에서 다운로드 혹은
WEBSQUARE_DEV_PACK의 GUIDE 프로젝트에서 보기
(/GridView/_General/fixedColumn_columnMove_fixedColumnNoMove_GridView.xml)
YouTube 동영상 (https://youtu.be/CHgj4fpmYEQ)
행 고정
설명 |
|
|---|---|
관련 API |
|
YouTube 동영상 (https://youtu.be/1Gta-JwBQNI)
스크롤 숨기기
fixedColumnScrollHidden 속성 설정을 통해 고정된 영역에는 스크롤을 표시하지 않을 수 있습니다.
fixedColumnScrollHidden="false"
fixedColumnScrollHidden="true"
행 번호 및 상태 표시
속성을 통한 설정 (rowNumVisible & rowStatusVisible)
설명 |
|
|---|---|
관련 API |
|
예제 파일
인터넷에서 다운로드 혹은
WEBSQUARE_DEV_PACK의 GUIDE 프로젝트에서 보기
(/GridView/_General/rowNumVisible_rowStatusVisible_Gridview.xml)
YouTube 동영상 (https://youtu.be/BOpVAFxToUI)
Status | StatusValue | 이미지 | |
|---|---|---|---|
초기상태 | R | 0 | 없음 |
갱신 | U | 1 | |
삽입 | C | 2 | |
삭제 | D | 3 | |
삽입후 삭제 | V | 4 |
$r_title(상태 변경 (예)) grid1.setCellData(1, 'userRating', 5.88); // 갱신 상태. grid1.deleteRow(2); // 삭제 상태. grid1.insertRow(grid1.getRowCount()); // 삽입 상태.
동적 설정
행 번호 컬럼 (setRowNumVisible())
예제 파일
인터넷에서 다운로드 혹은
WEBSQUARE_DEV_PACK의 GUIDE 프로젝트에서 보기
(/GridView/_General/setRowNumVisible_GridView.xml)
YouTube 동영상 (https://youtu.be/0TGGOtcwl-Q)
행 상태 컬럼 (setRowStatusVisible())
예제 파일
인터넷에서 다운로드 혹은
WEBSQUARE_DEV_PACK의 GUIDE 프로젝트에서 보기
(/GridView/_General/setRowStatusVisible_GridView.xml)
YouTube 동영상 (https://youtu.be/8pmqZSebcz8)
헤더 값, 폭, 배경색 지정
행 번호 컬럼
rowNumVisible="true" 속성 설정을 통해 GridView 각 행의 번호를 표시하는 컬럼을 사용할 경우, 아래 속성들을 설정하여 행 번호 표시 컬럼의 헤더 값과 폭, 배경색 또한 지정할 수 있습니다.
rowNumHeaderValue(헤더 값)rowNumWidth(폭)rowNumBackgroundColor(배경색)
예제 파일
인터넷에서 다운로드 혹은
WEBSQUARE_DEV_PACK의 GUIDE 프로젝트에서 보기
(/GridView/_General/rowNumVisible_rowNumHeaderValue_rowNumWidth_rowNumBackgroundColor_GridView.xml)
YouTube 동영상 (https://youtu.be/J9zuH4HJq4Q)
행 상태 컬럼
rowStatusVisible="true" 속성 설정을 통해 GridView 각 행의 상태를 표시하는 컬럼을 사용할 경우, 아래 속성들을 설정하여 행 상태 표시 컬럼의 헤더 값과 폭을 지정할 수 있습니다.
rowStatusHaderValue(헤더 값)rowStatusWidth(폭)
예제 파일
인터넷에서 다운로드 혹은
WEBSQUARE_DEV_PACK의 GUIDE 프로젝트에서 보기
(/GridView/_General/rowStatusVisible_rowStatusHeaderValue_rowStatusWidth_GridView.xml)
YouTube 동영상 (https://youtu.be/xiPsLhJgKrU)
$r_title(번호 및 상태 컬럼 표시 (예)) <w2:grid id="grid1" baseNode="item" repeatNode="filmo" style="position: absolute ;left:0px;top:0px;width: 800px;height: 400px;" valueNode="" sortable="true" resize="true" readOnlyBackgroundColor="#D9E6F3" readOnly="false" hideHeader="false" rowNumVisible="true" rowNumHeaderValue="No." rowStatusVisible="true" rowStatusHeaderValue="상태">
행 번호 표시 컬럼에 마우스-오버 색상 적용
rowNumRowMouseOverColor="true" 속성 설정을 통해 GridView 각 행의 번호를 표시하는 셀이 마우스-오버될 경우 지정한 색상을 적용할 수 있습니다.
예제 파일
인터넷에서 다운로드 혹은
WEBSQUARE_DEV_PACK의 GUIDE 프로젝트에서 보기
(/GridView/_General/rowNumRowMouseOverColor.xml)
YouTube 동영상 (https://youtu.be/i5NXh_Ymgx8)
다국어 지원
설명 |
|
|---|---|
관련 API |
|
$r_title(사용 예 (행 순서/상태 컬럼의 헤더를 순번/상태 대신 Number/Status로 표시)) ... <script ... scwin.init = function(){ WebSquare.WebSquareLang = { 'rowNum' : 'Number', 'rowStatus' : 'Status' }; }; scwin.init();]]></script> <w2:gridView ... rowNumLocaleRef="rowNum" rowStatusLocaleRef="rowStatus" rowNumVisible="true" rowStatusVisible="true" rowNumHeaderValue="순번" rowStatusHeaderValue="상태" ... </w2:gridView> ...
컬럼
컬럼 폭 자동 맞춤 (autoFit)
설명 |
|
|---|---|
관련 API |
|
비고 |
|
autoFit
YouTube 동영상 (https://youtu.be/pjEYTl_b7TI)
autoFit & autoFitMinWidth
예제 파일
인터넷에서 다운로드 혹은
WEBSQUARE_DEV_PACK의 GUIDE 프로젝트에서 보기
(/GridView/_General/autoFit_autoFitMinWidth_GridView.xml)
YouTube 동영상 (https://youtu.be/VtwE8p1ALfc)
autoFit="allColumn" & autoFitCellMinWidth
속성을 사용하면 autoFitCellMinWidth autoFit="allColumn" 설정을 적용하기 위해 필요한 GridView 셀의 최소 너비를 지정할 수 있습니다. GridView 셀의 너비가 autoFitCellMinWidth 속성 값보다 작을 경우, autoFit="allColumn" (모든 열의 너비를 자동으로 맞추는) 설정이 작동하지 않고 가로 스크롤이 생성됩니다.
setAutoFit() & clearAutoFit()
예제 파일
인터넷에서 다운로드 혹은
WEBSQUARE_DEV_PACK의 GUIDE 프로젝트에서 보기
(/GridView/_General/setAutoFit_clearAutoFit_GridView/)
YouTube 동영상 (https://youtu.be/08K5gCovQcc)
드래깅을 통한 컬럼 폭 조정
설명 |
|
|---|---|
관련 API |
|
드래깅을 통한 행 번호 컬럼 폭 조정
설명 |
|
|---|---|
관련 API |
|
최소 컬럼 폭 지정
설명 |
|
|---|---|
관련 API |
|
컬럼 이동
GridView의 헤더를 드래깅하여 해당 컬럼을 이동할 수 있습니다. 드래깅 시 헤더의 value로 지정한 값이 툴팁으로 나타납니다. 세로 틀로 고정된 컬럼의 경우, 드래깅 가능 여부를 별도로 지정할 수 있습니다.
- 관련 API
columnMove="true": 해당 컬럼의 이동을 허용.
fixedColumn & fixedColumnNoMove: 세로 틀 고정된 컬럼의 드래깅 허용 여부.
- 세로 틀 고정된 컬럼의 드래깅
fixedColumn: 세로 틀 고정 대상 컬럼을 지정.
columnMove="true": 틀 고정된 컬럼도 columnMove="true"인 경우 드래깅을 통해 이동 가능.
fixedColumnNoMove="true": fixedColumn을 통해 고정된 컬럼의 경우 columnMove="true" 설정을 적용받지 않음. 즉, 드래깅을 통한 이동 불가능.
헤더 드래깅을 통한 컬럼 이동
YouTube 동영상 (https://youtu.be/3oD-HTt34Hw)
헤더가 병합된 컬럼을 푸터와 함께 이동
예제 파일
인터넷에서 다운로드 혹은
WEBSQUARE_DEV_PACK의 GUIDE 프로젝트에서 보기
(/GridView/_General/columnMove_columnMoveWithFooter_GridView.xml)
YouTube 동영상 (https://youtu.be/A--6TD6vDCM)
특정 컬럼의 스타일 직접 설정
setColumnStyle() 함수를 사용하면 지정한 컬럼에 원하는 스타일을 직접 설정할 수 있습니다.
$r_title(사용 예) // index=1 컬럼에 “color: red;” 스타일 적용. grid1.setColumnStyle(1, "color", "red");
예제 파일
인터넷에서 다운로드 혹은
WEBSQUARE_DEV_PACK의 GUIDE 프로젝트에서 보기
(/GridView/_General/setColumnStyle_GridView.xml)
YouTube 동영상 (https://youtu.be/iz9ZqR_0hqs)
행
삭제 상태의 행 표시 (hideDeletedRow)
GridView와 바인딩된 DataList의 deleteRow() 혹은 deleteRows() 함수를 사용하여 GridView의 행을 삭제할 경우, 행의 상태(rowStatus)가 삭제("D" )로 변경되지만 해당 행들은 계속 gridView에 표시됩니다. 이 경우, hideDeletedRow 속성을 사용하면 삭제 상태의 행을 GridView에 표시할 수 있습니다.
삭제 상태의 행
예제 파일
인터넷에서 다운로드 혹은
WEBSQUARE_DEV_PACK의 GUIDE 프로젝트에서 보기
(/GridView/_General/hideDeletedRow_GridView.xml)
YouTube 동영상 (https://youtu.be/ualtfURZIX8)
동적 행 추가 및 삭제
GridView와 DataList가 바인딩된 경우, insertRow(); 및 removeRows(); 함수를 사용하여 행을 새로 추가하거나 삭제할 수 있습니다.
예제 파일
인터넷에서 다운로드 혹은
WEBSQUARE_DEV_PACK의 GUIDE 프로젝트에서 보기
(/_DataCollection/insertRow_removeRows_DataList.xml)
YouTube 동영상 (https://youtu.be/_TfJtScLtoQ)
표시할 행 수 지정
다음은 visibleRowNum 속성 값을 "8"로 지정하여, 8개의 행만 GridView에 표시한 모습입니다.
visibleRowNum="8"
속성을 통한 지정 (visibleRowNum)
다음은 visibleRowNum 속성 값을 "8"로 지정하여, 8개의 행만 GridView에 표시한 모습입니다.
visibleRowNum="8"
예제 파일
인터넷에서 다운로드 혹은
WEBSQUARE_DEV_PACK의 GUIDE 프로젝트에서 보기
(/GridView/_General/visibleRowNum_GridView.xml)
YouTube 동영상 (https://youtu.be/d-eyEgACxd0)
함수를 통한 지정 (setVisibleRowNum())
예제 파일
인터넷에서 다운로드 혹은
WEBSQUARE_DEV_PACK의 GUIDE 프로젝트에서 보기
(/GridView/_General/setVisibleRowNum_GridView.xml)
YouTube 동영상 (https://youtu.be/gobAwLOYX1I)
행 표시하기 숨기기
예제 파일
인터넷에서 다운로드 혹은
WEBSQUARE_DEV_PACK의 GUIDE 프로젝트에서 보기
(/GridView/_General/setRowVisible_clearRowVisible_GridView/)
YouTube 동영상 (https://youtu.be/CTF5kjlN10k)
행 추가, 삭제, 저장 버튼
버튼은 Trigger 혹은 다른 컴포넌트로 나타낼 수 있습니다. 이들 컴포넌트는 다른 컴포넌트와 연계하여 사용할 수 있으며, 이벤트를 사용하여 그리드를 조작할 수 있습니다.
<xf:trigger id="trigger1"
style="position: absolute ;left:0px;top:0px;width: 100px;height: 25px;"
type="button">
<xf:label>행 추가</xf:label>
<script ev:event="onclick"
type="javascript"><![CDATA[
grid1.insertRow( 0 );
]]></script>
</xf:trigger>
<xf:trigger id="trigger2"
style="position: absolute ;left:100px;top:0px;width: 100px;height: 25px;"
type="button">
<xf:label>행 삭제</xf:label>
<script ev:event="onclick"
type="javascript"><![CDATA[
var chkDataArr = grid1.getCheckedData("chk");
var dataArr = [];
for ( var i = 0; i < chkDataArr.length; i++) {
dataArr[i] = chkDataArr[i][2];
}
var qStr = dataArr.join(", ") + " ("
+ chkDataArr.length + "건)을 삭제하시겠습니까? ";
output1.setValue(qStr);
if (chkDataArr.length == 0) {
output1.setValue("선택된 건수가 없습니다.");
group3.hide();
} else {
group3.show();
}
gridReadOnly(true);
floatingLayer1.show();
]]></script>
</xf:trigger>
<xf:trigger id="trigger3"
style="position: absolute ;left:200px;top:0px;width: 100px;height: 25px;"
type="button">
<xf:label>저장</xf:label>
<script ev:event="onclick"
type="javascript"><![CDATA[
for ( var i = 0; i < grid1.getRowCount(); i++) {
var doc = dataList1.getRowXML(i);
var ret = validCheck(doc, i);
if (ret == false) {
alert('필수 입력 항목이 존재합니다.');
return;
}
}
var modifiedXML = dataList1.getModifiedXML();
alert(WebSquare.xml.indent(modifiedXML));
]]></script>
</xf:trigger>셀
셀 너비/높이 설정
속성 기본값 width와 style = "height"를 통해 셀의 너비와 높이를 조절할 수 있습니다. (예: width="70" style="height:20px")
header가 있는 경우나 셀 병합에 따라 특정 셀만이 그 크기를 결정할 수도 있습니다.
셀의 기본 값 설정
새로 추가되는 셀의 기본 값은 defaultValue를 통해 설정할 수 있습니다.
- 셀에 데이터가 바인되지 않았을 경우 기본값이 표시됩니다.
XML 데이터: 열의 id와 같은 노드명이 없는 경우
JSON 데이터: 열의 id와 같은 속성 이름이 없는 경우
아래와 같이 defaultValue 속성을 정의하십시오.
<w2:column id="orgtitle"
style="height:35px" inputType="text"
width="200" defaultValue="영화제목">
</w2:column>셀 선택
동적 셀 선택
설명 |
|
|---|---|
사용 방법 |
|
관련 속성 |
|
$r_title(사용 예 (1) - 영역 선택) gridView1.setFocusedMultiCell(3,2,4,3); // 실행 결과: (3,2), (3,3), (4,2), (4,3) 셀들이 선택.
$r_title(사용 예 (2) - 전체 선택) gridView1.setFocusedMultiCell(0,0,totalRow-1,totalCol-1); // 실행 결과: 전체 셀을 선택.
$r_title(사용 예 (3) - 컬럼 선택) gridView1.setFocusedMultiCell(0,1,totalRow-1,1); // 실행 결과: 두 번째 컬럼의 모든 셀을 선택
$r_title(사용 예 (4) - GridView의 focusMode 속성이 "row" 혹은 "both"인 경우)
gridView1.setFocusedMultiCell(1, 1, 16, 2, {ignoreFocusMode:true});
// focusMode 설정에 상관 없이 영역 안의 셀들만 선택됨focusMode="both"일 때 {ignoreFocusMode:true} 옵션으로 setFocusedMultiCell() 실행
예제 파일
인터넷에서 다운로드 혹은
WEBSQUARE_DEV_PACK의 GUIDE 프로젝트에서 보기
(/GridView/_General/setFocusedMultiCell_GridView/)
YouTube 동영상 (https://youtu.be/erKy4irXoBY)
읽기 전용 셀 선택
설명 |
|
|---|---|
관련 API |
|
셀 선택 금지
드래깅을 통한 셀 텍스트 선택 방지 (noSelect)
noSelect="true" 속성 설정을 통해 마우스 드래깅을 통한 셀 텍스트 선택을 방지할 수 있습니다.
YouTube 동영상 (https://youtu.be/h9GJfv6sopE)
속성을 통한 금지 (blockSelect)
gridView.column의 blockSelect 속성을 사용하면, 해당 컬럼의 셀들이 사용자 선택되는 것을 금지할 수 있습니다.
예제 파일
인터넷에서 다운로드 혹은
WEBSQUARE_DEV_PACK의 GUIDE 프로젝트에서 보기
(/GridView/_General/blockSelect_gridView_column.xml)
YouTube 동영상 (https://youtu.be/BKVzAv9EVNM)
함수를 통한 동적 금지 (setBlockSelect())
$r_title(사용 예)
gridView1.setBlockSelect("a", true);
// id가 "a"인 컬럼의 blockSelect 속성 값을 "true"로 설정.GridView의 setBlockSelect() 함수를 사용하면 각 컬럼의 셀 선택을 막는 blockSelect 속성 값을 동적으로 설정하여, 셀 선택을 동적으로 차단할 수 있습니다.
예제 파일
인터넷에서 다운로드 혹은
WEBSQUARE_DEV_PACK의 GUIDE 프로젝트에서 보기
(/GridView/_General/setBlockSelect_GridView.xml)
YouTube 동영상 (https://youtu.be/c0Atmug5x1U)
셀 제목
헤더, 해당 셀의 데이터, label, inputType 등을 조합하여 각 셀의 <td>에 title 속성을 추가합니다.
- 관련 API
titleAuto
해당 셀의 inputType에 따른 타이틀 생성 규칙은 아래와 같습니다.
- "text" / "link" / "button"
(1) 헤데 셀에 데이터가 있을 때: "헤더 컬럼의 title 값 + 해당 셀의 데이터"
(2) 헤데 셀에 데이터가 없을 때: "헤더 컬럼의 title 값 + 해당 컬럼의 inputType"
- "check" / "radio"
(1) 헤데 셀에 label 값이 있을 때: "선택한 값 + label 값"
(2) 헤데 셀에 label 값이 없을 때: "선택한 값 + 해당 컬럼의 inputType"
- "select"
(1) 헤더 셀의 label 값이 있을 때: "헤더 컬럼의 title 값 + label 값"
(2) 헤더 셀의 label 값이 없을 때: "헤더 컬럼의 title 값 + 해당 컬럼의 inputType"
제약 사항
아래와 같은 경우 titleAuto 속성을 지원하지 않음.
이 경우 각 셀의 title 속성을 직접 설정해야 함.
(1) 헤더 또는 바디의 셀들이 합쳐진 경우
(2) 헤더가 두 줄인 경우
(3) inputType="text"를 제외한 다른 경우
특정 셀 비활성화
setCellDisabled() 함수를 사용하여, 필터에 의해 숨겨진 셀을 포함한 특정 셀을 동적으로 비활성화할 수 있습니다.
$r_title(사용 예)
gridView1.setCellDisabled(
0, // 행 인덱스
0, // 컬럼 인덱스
true, // 비활성화 여부
false // 실제 인덱스 사용 여부
);예제 파일
인터넷에서 다운로드 혹은
WEBSQUARE_DEV_PACK의 GUIDE 프로젝트에서 보기
(/GridView/_General/setCellDisabled_GridView.xml)
YouTube 동영상 (https://youtu.be/_CkuXLhoAnE)
셀 변경 상태 표시
cellStatusVisible="true" 속성 설정을 적용하면, 셀 데이터가 추가, 수정, 삭제될 경우, 우측 상단에 아이콘을 표시할 수 있습니다. 이 때, cellStatusIconPosition 속성을 사용하여 해당 아이콘을 표시할 위치를 지정할 수 있습니다.
예제 파일
인터넷에서 다운로드 혹은
WEBSQUARE_DEV_PACK의 GUIDE 프로젝트에서 보기
(/GridView/_General/cellStatusVisible_cellStatusIconPosition_GridView.xml)
YouTube 동영상 (https://youtu.be/f0wjJ7mRjsM)
드래깅
동일한 GridView 내에서, 혹은 서로 다른 GridView 사이에서 한 개 이상의 행을 드래그-앤-드롭을 통해 이동할 수 있습니다.
- 관련 속성 및 함수
dataDragDrop및 함수 (드래그-앤-드롭 허용)dragDisplayColumn(툴팁에 표시할 컬럼 ID 지정)dragStartFunction/dragEndFunction(드래깅 시작/종료 시 실행할 함수 지정)useShiftKey(Shift 키 사용을 통한 행 선택 허용)setDrillDownDragDrop()(inputType="drilldown"컬럼을 포함한 행의 이동 허용)dataDragSelect(여러 개의 셀들을 드래깅을 통해 선택)dataDragSelectAutoScroll(드래깅 시 마우스가 그리드뷰를 벗어나도 자동으로 스크롤을 수행)
마우스 드래깅을 통한 행 이동
동일한 GridView 내 혹은 다른 GridView로의 드래깅 (dataDragDrop)
동일한 GridView 내에서, 혹은 서로 다른 GridView 사이에 GridView 행 전체를 드래그-앤-드롭하여 이동할 경우, dataDragDrop="true"로 설정하십시오. Shift 키를 사용할 경우, useShiftKey="true" 설정도 추가합니다.
행을 다른 GridView로 드래깅
드래깅된 행이 다른 GridView로 이동됨
예제 파일
인터넷에서 다운로드 혹은
WEBSQUARE_DEV_PACK의 GUIDE 프로젝트에서 보기
(/GridView/Dragging/dataDragDrop_GridView.xml)
YouTube 동영상 (https://youtu.be/Mycybcw6kZ4)
동일한 GridView 내에서만 드래깅 (dataDragDropSelf)
dataDragDropSelf="true"로 설정을 적용하면 동일한 GridView 내에서만 드래깅으로 행을 이동할 수 있습니다.
예제 파일
인터넷에서 다운로드 혹은
WEBSQUARE_DEV_PACK의 GUIDE 프로젝트에서 보기
(/GridView/Dragging/dataDragDropSelf_GridView.xml)
YouTube 동영상 (https://youtu.be/RpqcN6rku28)
다른 GridView로의 드래깅 (dataDragDropOther)
dataDragDrop="true" 속성 설정을 통해 GridView의 행 이동을 허용할 경우, dataDragDropOther="true" 설정을 추가하면, 다른 GridView로의 행 이동만 허용할 수 있습니다. 즉, 동일한 GridView 내에서의 행 이동은 금지할 수 있습니다.
예제 파일
인터넷에서 다운로드 혹은
WEBSQUARE_DEV_PACK의 GUIDE 프로젝트에서 보기
(/GridView/Dragging/dataDragDropOther_GridView.xml)
YouTube 동영상 (https://youtu.be/OaPwYvixkpA)
inputType="drilldown" 컬럼을 포함한 GridView에서의 드래깅
inputType="drilldown" 컬럼을 포함한 행들을 GridView 내에서, 혹은 서로 다른 GridView 사이에서 드래깅하여 이동할 수 있습니다. setDrillDownDragDrop() 함수를 사용하십시오. 단, GridView에는 dataDragDrop="true" 설정이 있어야 합니다.
$r_title(사용 예) gridView1.setDrillDownDragDrop(true);
inputType="drilldown" 컬럼을 포함한 행을 다른 GridView로 드래깅
드래깅 후 다른 GridView로 이동된 모습
예제 파일
인터넷에서 다운로드 혹은
WEBSQUARE_DEV_PACK의 GUIDE 프로젝트에서 보기
(/GridView/Dragging/setDrillDownDragDrop_GridView/)
YouTube 동영상 (https://youtu.be/CAh0xUkNLts)
행 이동을 위한 마우스 드래깅 시작/종료 시 실행할 함수 지정
드래깅 시작/종료 시 실행할 함수는 dragStartFucntion 및 dragEndFunction 속성을 통해 지정할 수 있습니다. 단, 해당 함수는 직접 정의해야 합니다.
$r_title(사용 예) // gridView1 dataDragDrop="true" dragDisplayColumn="orgtitle" dragStartFunction="dragStart1" dragEndFunction="dragEnd1" ... // gridView2 dataDragDrop="true" dragDisplayColumn="orgtitle, openDate" dragStartFunction="dragStart2" dragEndFunction="dragEnd2" ...
$r_title(dragStart1(), dragEnd1(), dragStart2(), dragEnd2() 정의) function dragStart1(rowIndex, rowXML) { return rowXML; } function dragEnd1(rowIndex, rowXML) { return false; } function dragStart2(rowIndex, rowXML) { grid2.removeRow(rowIndex); return rowXML; } function dragEnd2(rowIndex, rowXML) { grid2.setRowXML(rowIndex, rowXML, false); return false; }
마우스 드래깅을 통한 행 이동 시 rowStatus 유지
dataDragDropStatus="true" 설정을 추가할 경우, 하나의 GridView 내에서 드래그-앤-드롭으로 행을 이동할 때 rowStatus를 유지할 수 있습니다. dataDragDropStatus 속성을 기본 값이 "false"로 설정할 경우, 드래그-앤-드롭으로 행이 이동되면 rowStatus가 "C"로 변경됩니다.
단, dragEndFunction 함수를 지정하여 사용하는 경우에는 해당하지 않습니다. dragEndFunction으로 지정된 함수에서 직접 처리해야 합니다.
예제 파일
인터넷에서 다운로드 혹은
WEBSQUARE_DEV_PACK의 GUIDE 프로젝트에서 보기
(/GridView/Draggingl/dataDragDropStatus_GridView.xml)
YouTube 동영상 (https://youtu.be/_Hh63KhRaII)
마우스 드래깅을 통한 여러 셀들의 선택
드래깅 및 Shift 키를 통한 여러 셀들의 선택
아래 속성과 함수를 사용하여 사용자가 마우스 드래깅 혹은 Shift 키를 통해 여러 개의 셀을 선택하도록 허용할 수 있습니다.
useShiftKey="true"dataDragSelect="true"setDataDragSelect()setUseShiftKey()
useShiftKey="true" 및 dataDragSelect="true" 속성을 설정하면 마우스 드래깅 혹은 Shift 키를 통해 여러 개의 셀을 선택하고, 선택한 여러 셀들을 한꺼번에 삭제할 수 있습니다.
예제 파일
인터넷에서 다운로드 혹은
WEBSQUARE_DEV_PACK의 GUIDE 프로젝트에서 보기
(/GridView/Dragging/dataDragSelect_useShiftKey_GridView.xml)
YouTube 동영상 (https://youtu.be/qLlMWSH_WwE)
또한, 마우스 드래깅으로 여러 개의 셀들을 선택할 수 있도록 허용하는 dataDragSelect 속성 및 Shift 키를 사용하여 여러 개의 셀들을 선택할 수 있도록 허용하는 useShiftKey 속성은 각 setDataDragSelect() 함수 및 setUseShiftKey() 함수를 이용하여 동적으로 설정할 수 있습니다.
$r_title(사용 예) gridView1.setDataDragDrop(false); gridView1.setDataDragSelect(true); gridView1.setUseShiftKey(true);
드래깅한 여러 셀들의 선택을 유지
드래깅(dataDragSelect="true") 혹은 Shift 키를 사용(useShiftKey="true")하여 여러 개의 셀들을 선택한 후 마우스 우클릭하면 셀 선택이 해제됩니다. 이 경우, keepDataDragSelection 속성 값을 "true"로 설정하면 마우스를 우클릭해도 여러 셀들이 선택된 상태를 유지할 수 있습니다.
keepDataDragSelection="true"
keepDataDragSelection="false"
예제 파일
인터넷에서 다운로드 혹은
WEBSQUARE_DEV_PACK의 GUIDE 프로젝트에서 보기
(/GridView/Dragging/keepDataDragSelection_GridView.xml)
드래깅 시 자동 스크롤링
드래깅으로 셀을 선택할 경우, 마우스가 GridView 밖을 벗어나면 마우스 방향에 따라 그리드뷰가 상하, 좌우, 대각선 방향으로 자동 스크롤링됩니다.
useShiftKey=“true” | Shift 키를 이용하여 여러 개의 셀을 선택 가능. |
|---|---|
dataDragSelect=“true” | 여러 개의 셀을 드래깅으로 선택 가능. (useShiftKey="true"인 경우에만 유효.) |
dataDragSelectAutoScroll=“true” | 마우스가 GridView 밖을 벗어날 경우 자동으로 스크롤링 수행. |
예제 파일
인터넷에서 다운로드 혹은
WEBSQUARE_DEV_PACK의 GUIDE 프로젝트에서 보기
(/GridView/Dragging/dataDragSelect_dataDragSelectAutoScroll_2_GridView.xml)
YouTube 동영상 (https://youtu.be/ebiRwO4IaDo)
마우스가 화면을 벗어나도 자동으로 드래깅되도록 허용하는 dataDragSelectAutoScroll 속성은 setDragSelectAutoScroll() 함수를 사용하여 동적으로 설정할 수 있습니다.
$r_title(사용 예) gridView1.setDataDragSelectAutoScroll(true);
정렬
정렬 기능 추가 및 정렬 아이콘 표시
설명 |
|
|---|---|
관련 속성 |
|
사용 방법 |
|
예제 (1)
예제 파일
인터넷에서 다운로드 혹은
WEBSQUARE_DEV_PACK의 GUIDE 프로젝트에서 보기
(/GridView/Sorting/sortable_showSortableImage_GridView.xml)
YouTube 동영상 (https://youtu.be/ghQHUfvTGEc)
예제 (2)
예제 파일
인터넷에서 다운로드 혹은
WEBSQUARE_DEV_PACK의 GUIDE 프로젝트에서 보기
(/GridView/Sorting/sortable_sortEvent_showSortableImage_sortedIconPosition_sortOrderReverse_GridView.xml)
YouTube 동영상 (https://youtu.be/P-vOAmfu4mw)
예제 (3) - 정렬 기능을 동적으로 설정
setSortable() 함수를 사용하면 정렬 기능(sortable="true")을 동적으로 설정할 수 있습니다.
$r_title(사용 예) // 지정한 headerID 헤더에 sortable="true" 설정. gridView1.setSortable(headerId, true); // 지정한 headerID 헤더에 sortable="false" 설정. gridView1.setSortable(headerId, false);
YouTube 동영상 (https://youtu.be/Noawlm0IjXQ)
여러 컬럼을 정렬
한 개의 컬럼을 정렬한 후에 추가로 다른 컬럼의 헤더를 더블 클릭하여 여러 개의 컬럼을 정렬할 수 있습니다. 단, useCtrlOnMultisort="true" 설정을 사용할 경우에는 Ctrl 키를 누른 채로 컬럼 헤더를 더블 클릭해야 여러 컬럼 정렬이 가능합니다.
세 개의 컬럼을 순서대로 정렬한 경우 (예시)
예제 파일
인터넷에서 다운로드 혹은
WEBSQUARE_DEV_PACK의 GUIDE 프로젝트에서 보기
(/GridView/Sorting/useCtrlOnMultisort_GridView.xml)
YouTube 동영상 (https://youtu.be/CfSolomJuKI)
헤더 컬럼이 병합된 경우 정렬 기준 컬럼 지정
여러 개의 헤더 컬럼이 병합된 경우, orderByColumn 속성을 통해 정렬 기준이 되는 컬럼을 지정할 수 있습니다. 아래 예제와 같이 세 개의 컬럼 헤더가 병합된 경우, 정렬 아이콘을 클릭할 경우 세 개의 컬럼 중 정렬의 기준이 될 컬럼을 GridView의 Body Column ID로 지정할 수 있습니다.
예제 파일
인터넷에서 다운로드 혹은
WEBSQUARE_DEV_PACK의 GUIDE 프로젝트에서 보기
(/GridView/Sorting/orderByColumn_gridView_column/)
YouTube 동영상 (https://youtu.be/PlMxvfTZ55o)
라벨 값을 기준으로 정렬
GridView 컬럼의 inputType이 "autoComplete"이거나 "select"인 경우, 라벨 값을 기준으로 정렬할 수 있습니다. inputType="custom" 컬럼의 inputType을 "autoComplete"이거나 "select"로 변경한 경우에도 해당합니다. gridView.column의 sortLabel 속성을 "true"로 설정하십시오.
예제 파일
인터넷에서 다운로드 혹은
WEBSQUARE_DEV_PACK의 GUIDE 프로젝트에서 보기
(/GridView/Sorting/sortLabel_gridView_column/)
YouTube 동영상 (https://youtu.be/9iG--eshvBI)
데이터가 없을 경우 정렬 버튼 숨기기
sortable과 showSortableImage 속성을 사용하여 정렬 버튼을 표시할 경우, GridView에 데이터가 없는 경우에도 정렬 버튼이 표시됩니다. 이 때 hideSortIconOnNoData="true" 속성 설정을 적용하면, GridView와 바인딩된 데이터가 없을 경우 정렬 버튼을 숨길 수 있습니다.
hideSortIconOnNoData="false"
hideSortIconOnNoData="true"
예제 파일
인터넷에서 다운로드 혹은
WEBSQUARE_DEV_PACK의 GUIDE 프로젝트에서 보기
(/GridView/Sorting/hideSortIconOnNoData_GridView.xml)
YouTube 동영상 (https://youtu.be/Ww-uwKEmwBg)
필터링
설명 |
|
|---|---|
관련 API |
|
필터 아이콘 표시
GridView 컬럼의 헤더에 useFilter="true" 설정을 추가하면 필터 아이콘이 표시되고, 해당 아이콘을 클릭하면 직접 필터를 설정할 수 있습니다.
useFilter="true" (gridView.column)
예제 파일
인터넷에서 다운로드 혹은
WEBSQUARE_DEV_PACK의 GUIDE 프로젝트에서 보기
(/GridView/Filtering/useFilter_gridView_column.xml)
YouTube 동영상 (https://youtu.be/k6mRK45a-2I)
필터 아이콘 및 필터링 항목 표시
GridView 컬럼의 헤더에 useFilter="true" 설정을 추가한 후, GridView의 useFilterList 속성을 "true"로 설정할 경우, 필터 아이콘을 클릭하면 직접 필터를 설정할 수 있는 메뉴와 함께 필터링 항목이 목록으로 표시됩니다.
useFilter= ("true"gridView.column) & useFilterList= (GridView)"true"
YouTube 동영상 (https://youtu.be/2Fzwxj5d7SU)
정렬/필터링 아이콘 표시 (showSortableUseFilter)
GridView가 정렬 기능(sortable="true")을 사용하면서 정렬 아이콘을 헤더에 표시하고(showSortableImage="true"), 또 그리드뷰 컬럼이 필터링 기능(useFilter="true")을 사용할 경우, 정렬 아이콘과 필터링 아이콘을 모두 헤더에 표시할 수 있습니다. showSortableUseFilter 속성을 "true"로 설정하십시오.
showSortableUseFilter="true"
예제 파일
인터넷에서 다운로드 혹은
WEBSQUARE_DEV_PACK의 GUIDE 프로젝트에서 보기
(/GridView/Filtering/showSortableUseFilter_GridView.xml)
YouTube 동영상 (https://youtu.be/5iI3EWzctyg)
사용자 정의 필터 저장
설명 |
|
|---|---|
관련 API |
|
필터링 후의 컬럼 데이터만 반환
GridView와 DataList가 바인딩된 경우, DataList의 getFilteredColData() 함수를 사용하면 필터링 결과만 반환할 수 있습니다.
예제 파일
인터넷에서 다운로드 혹은
WEBSQUARE_DEV_PACK의 GUIDE 프로젝트에서 보기
(/_DataCollection/getFilteredColData_getColData_DataList.xml)
YouTube 동영상 (https://youtu.be/cmcqLapaPwk)
필터링 후의 데이터만 반환
GridView와 DataList가 바인딩된 경우, DataList의 getAllFilteredData() 함수를 사용하면 필터링 결과만 JSON 형식으로 반환할 수 있습니다. inputType="drilldown" 컬럼에서 특정 노드만 표시할 경우, 표시된 노드들만 필터링된 데이터로 반환할 수 있습니다.
예제 파일
인터넷에서 다운로드 혹은
WEBSQUARE_DEV_PACK의 GUIDE 프로젝트에서 보기
(/_DataCollection/getAllFilteredJSON_DataList.xml)
YouTube 동영상 (https://youtu.be/o9Rc0rjzixc)
숫자 필터링 조건 vs. 알파벳 필터링 조건
필터링 조건이 알파벳 등의 문자인 경우 '<', '<=', '>', '>=' 네 개의 연산자가 표시되지 않고 '=' 및 '<>'만 표시됩니다.
예제 파일
인터넷에서 다운로드 혹은
WEBSQUARE_DEV_PACK의 GUIDE 프로젝트에서 보기
(/GridView/Filtering/useFilter_gridView_column.xml)
YouTube 동영상 (https://youtu.be/k6mRK45a-2I)
필터링 조건 표시 및 검색
useFilterList="true" 설정을 사용하면 필터링 조건을 목록으로 표시할 수 있습니다.
useFilterList="false"
useFilterList="true"
useFilterList="true"
useFilterList="true"와 useFilterSearch="true" 설정을 동시에 사용할 경우, 필터링 조건 목록과 함께 필터링 조건을 입력할 수 있는 상자가 표시됩니다.
useFilterList="true" useFilterSearch="true"
필터링 조건 입력 상자는 검색 기능을 함께 제공합니다. 다음은 알파벳 "J"를 입력했을 때 대문자 "J"를 포함하는 필터링 조건이 검색된 모습입니다.
필터링 조건 검색
예제 파일
인터넷에서 다운로드 혹은
WEBSQUARE_DEV_PACK의 GUIDE 프로젝트에서 보기
(/GridView/Filteringl/useFilterSearch_GridView/)
YouTube 동영상 (https://youtu.be/VPx1BHrDEjc)
필터 상자 폭 자동 맞춤
그리드뷰 컬럼 헤더에 autoFitFilterList="true" 설정을 적용하면, 필터 항목 텍스트 길이에 따라 필터 상자의 폭을 자동으로 조절할 수 있습니다.
autoFitFilterList="false"
autoFitFilterList="true"
예제 파일
인터넷에서 다운로드 혹은
WEBSQUARE_DEV_PACK의 GUIDE 프로젝트에서 보기
(/GridView/_General/autoFitFilterList_gridView_column.xml)
YouTube 동영상 (https://youtu.be/J086xJbf7Wg)
데이터가 없을 경우 필터 버튼 숨기기
각 헤더에 useFilter="true" 속성 설정을 적용하고 GridView에 showSortableUseFilter="true" 속성 설정을 적용하여 필터 버튼을 표시할 경우, GridView에 데이터가 없는 경우에도 필터 버튼이 표시됩니다. 이 때 hideFilterIconOnNoData="true" 속성 설정을 적용하면, GridView와 바인딩된 데이터가 없을 경우 필터 버튼을 숨길 수 있습니다.
hideFilterIconOnNoData="false"
hideFilterIconOnNoData="true"
예제 파일
인터넷에서 다운로드 혹은
WEBSQUARE_DEV_PACK의 GUIDE 프로젝트에서 보기
(/GridView/Filtering/hideFilterIconOnNoData_GridView.xml)
YouTube 동영상 (https://youtu.be/W8AuO1d5E_o)
동적으로 필터링 적용
DataList의 setColumnFilter() 함수를 사용하여, DataList와 바인딩된 GridView의 특정 컬럼에 필터링을 동적으로 적용할 수 있습니다. 다음은 정규 표현식("regExp")을 사용하여 "col3" 컬럼의 값이 "Freezer" 혹은 "TV"인 데이터만 필터링하기 위한 조건을 정의한 코드입니다.
$r_title(사용 예)
// "col3"의 값이 "Freezer" 혹은 "TV"인 데이터만 필터링
dataList1.setColumnFilter({
type: 'regExp',
colIndex: 'col3',
key: /Freezer|TV/gi,
condition: 'and'
});예제 파일
인터넷에서 다운로드 혹은
WEBSQUARE_DEV_PACK의 GUIDE 프로젝트에서 보기
(/_DataCollection/setColumnFilter_DataList.xml)
YouTube 동영상 (https://youtu.be/7gFGWg2RdVY)
그룹핑
그룹핑 기능을 사용하면 한 개 이상의 컬럼을 기준으로 GridView의 데이터를 그룹으로 분류하고 각 그룹에 대한 통계 값을 확인할 수 있습니다. groupby() 함수를 사용할 경우 동적으로 그루핑을 수행할 수 있고, groupbyZone="true" 속성 설정을 사용할 경우 사용자가 직접 컬럼 헤더를 드래그-앤-드롭하여 데이터를 그룹핑할 수 있습니다.
그룹핑 전 Vs. 그룹핑 후
groupby() 함수를 통한 그룹핑
groupby() 함수를 사용하여 그룹핑을 수행할 수 있습니다. 각 옵션에 대한 자세한 설명은 API 가이드를 참고하십시오.
$r_title(사용 예)
var options = {
sortIndex: [0, 1],
closeGroup: true,
groupbyHeader: [{
inputType: "expression",
expression: 'toggle() + depthStr() + " [ " + count() + " Cases ] "',
align: "left",
colSpan: "4"
}],
groupbyFooter: {
depth_0: [{
colSpan: "3",
value: "Total",
align: "right"
}, {
inputType: "expression",
expression: 'SUM("col4")'
}],
depth_1: [{
colSpan: "3",
value: "Sub Total",
align: "right"
}, {
inputType: "expression",
expression: 'SUM("col4")'
}]
}
};
gridView1.groupby(options);YouTube 동영상 (https://youtu.be/1THvU4kuA5Y)
그룹핑 헤더에 마지막 단계만 표시
groupby() 함수를 통해 그룹핑을 수행할 경우, showOnlyLastDepth 옵션을 true로 설정하면 헤더에 마지막 단계만 표시할 수 있습니다.
showOnlyLastDepth: true (마지막 단계만 표시)
showOnlyLastDepth: false (모든 단계를 표시)
$r_title(사용 예)
var options = {
sortIndex: [0, 1, 2],
closeGroup: true,
showOnlyLastDepth: true,
groupbyHeader: [{
inputType: "expression",
expression: 'toggle() + depthStr() + " [ " + count() + " Cases ] "',
align: "left",
colSpan: "4"
}],
groupbyFooter: {
depth_0: [{
colSpan: "3",
value: "Total",
align: "right"
}, {
inputType: "expression",
expression: 'SUM("col4")'
}],
depth_1: [{
colSpan: "3",
value: "Sub Total",
align: "right"
}, {
inputType: "expression",
expression: 'SUM("col4")'
}]
}
};
gridView1.groupby(options);예제 파일
인터넷에서 다운로드 혹은
WEBSQUARE_DEV_PACK의 GUIDE 프로젝트에서 보기
(/GridView/Grouping/groupby_showOnlyLastDepth_GridView.xml)
YouTube 동영상 (https://youtu.be/t6ENhJNOeas)
expression
그룹핑된 각 컬럼의 데이터에 대해 아래의 expression 계산식을 사용할 수 있습니다.
No. | 함수 | 설명 |
|---|---|---|
1 |
| 총합. |
2 |
| 평균. |
3 |
| 최소값. |
4 |
| 최대값. |
5 |
| 해당 컬럼의 각 그룹 당 데이터 건 수. |
6 |
| 해당 컬럼이 그룹핑된 순서. |
7 |
| 해당 컬럼에 속한 각 그룹의 |
8 |
| 해당 컬럼에 속한 각 그룹을 토글할 수 있는 버튼의 생성 여부. |
그룹핑 & 필터링
groupbyZone="true" 속성 설정을 사용할 경우, 한 개 이상의 컬럼 헤더를 드래그-앤-드롭하여 그룹핑을 수행할 수 있습니다. 단, ongroupby 이벤트를 추가하여 그룹핑 조건을 지정해야 합니다. 또한 ongroupby 이벤트를 통해 그룹핑 수행 시 groupby() 함수를 사용하십시오.
헤더 드래깅을 통한 그룹핑
그룹핑 영역으로 드래깅된 헤더를 클릭하면 아래와 같이 필터가 표시됩니다. 즉, 사용자는 그룹핑을 수행한 후 필터를 선택하여 필터링도 수행할 수 있습니다.
그룹핑 후 필터링
$r_title(ongroupby 정의 (예시)) scwin.gridView1_ongroupby = function(options) { options.groupbyHeader = [{ inputType: 'expression', expression: 'toggle() + depthStr() + " [ " + count() + " Cases ] "', align: 'left', colSpan: 4 }]; options.closeGroup = true, options.groupbyFooter = { depth_0: [{ colSpan: 3, value: "(1) Maximum Value", align: "right" }, { inputType: 'expression', expression: 'MAX("col4")' }], depth_1: [{ colSpan: 3, value: "(2) Maximum Value", align: "right" }, { inputType: 'expression', expression: 'MAX("col4")' }], depth_2: [{ colSpan: 3, value: "(3) Maximum Value", align: "right" }, { inputType: 'expression', expression: 'MAX("col4")' }] }; gridView1.groupby(options); };
YouTube 동영상 (https://youtu.be/uu1wFeYjNKc)
그룹핑 영역 높이 및 표시할 메시지 지정
groupbyZoneHeight 및 groupbyZoneMessage 속성들을 사용하여 그룹핑 영역의 높이와 그룹핑 영역에 표시할 메시지를 지정할 수 있습니다.
groupbyZoneHeight & groupbyZoneMessage
예제 파일
인터넷에서 다운로드 혹은
WEBSQUARE_DEV_PACK의 GUIDE 프로젝트에서 보기
(/GridView/Grouping/groupbyZoneHeight_groupbyZoneMessage_GridView.xml)
YouTube 동영상 (https://youtu.be/eI_9K0QEJI4)
그룹핑 기준 컬럼 수 제한
groupbyZone 속성 설정을 통한 그룹핑 기능을 사용할 때, 그룹핑을 위해 드래깅할 수 있는 컬럼의 최대 개수를 지정할 수 있습니다. groupbyMaxCount 속성을 사용하십시오.
예제 파일
인터넷에서 다운로드 혹은
WEBSQUARE_DEV_PACK의 GUIDE 프로젝트에서 보기
(/GridView/Grouping/groupbyMaxCount_GridView.xml)
YouTube 동영상 (https://youtu.be/H3h9EJvdoIk)
필터 박스 표시
groupbyZoneFilterBox="true" 속성 설정을 사용할 경우, 그룹핑 후 선택한 필터 조건을 표시하는 필터 박스가 표시됩니다. 필터 박스는 사용자가 설정한 필터링 조건을 표시하고, 사용자가 특정 필터링 조건을 선택할 때 해당 결과물만 화면에 출력합니다.
- 관련 속성
groupbyFilterBoxgroupbyFilterBoxLocationfilterBoxVisibleRowNum
아래와 같이 groupbyFilterBox="false"인 경우, 그룹핑 후 헤더에서 필터링 조건을 선택했지만 필터링 조건이 별도로 표시되지 않습니다.
groupbyFilterBox="false"
아래와 같이 groupbyFilterBox="true"인 경우, 그룹핑 후 헤더에서 필터링 조건을 설정할 경우, 해당 조건이 별도의 박스에 표시됩니다.
groupbyFilterBox="true"
groupbyFilterBoxLocation 속성을 사용할 경우, 필터 박스를 표시할 위치("top"/"bottom")를 지정할 수 있습니다.
groupbyFilterBoxLocation="top"
filterBoxVisibleRowNum 속성은 필터 박스에 표시할 최대 필터링 조건 수를 제한하는데 사용됩니다.
filterBoxvisibleRowNum="5"
예제 파일
인터넷에서 다운로드 혹은
WEBSQUARE_DEV_PACK의 GUIDE 프로젝트에서 보기
(/GridView/Grouping/groupbyFilterBox_groupbyFilterBoxLocation_GridView.xml)
YouTube 동영상 (https://youtu.be/-qWrX0UwPnE)
필터링을 유지한 채로 그룹핑 수행
GridView에 필터링이 설정된 경우, 필터링 조건을 선택한 후 해당 조건으로 필터링된 데이터에 대해서만 그룹핑을 수행할 수 있습니다. customFilterBox="true" 설정을 추가하십시오.
관련 속성은 아래와 같습니다.
- 필터링 관련
useFilterList="true"useFilter="true"// 헤더에 설정- 그룹핑 관련
groupbyZone="true"groupbyFilterBox="true"- 필터 유지 관련
customFilterBox="true"
아래와 같이 필터를 선택한 후 헤더를 드래깅하여 그룹핑을 수행할 수 있습니다.
필터 선택
customFilterBox="true"인 경우, 필터링이 유지된 채로 그룹핑이 수행됩니다.
customFilterBox="true"
하단의 필터 상자에는 "필터링" 조건과 "필터링 + 그룹핑" 조건이 모두 표시됩니다.
"필터링" 조건 및 "필터링 + 그룹핑" 조건 모두 표시됨
customFilterBox="false"인 경우, 필터링이 풀리고 전체 데이터에 대해 그룹핑이 수행됩니다.
customFilterBox="false"
예제 파일
인터넷에서 다운로드 혹은
WEBSQUARE_DEV_PACK의 GUIDE 프로젝트에서 보기
(/GridView/Grouping/customFilterBox_GridView.xml)
YouTube 동영상 (https://youtu.be/PuhCRu0KEmo)
그룹핑 취소
clearGroupby() 함수를 사용하여 groupbyZone="true" 속성 설정 혹은 groupby() 함수를 통해 수행한 그룹핑을 취소할 수 있습니다.
$r_title(사용 예)
gridView1.clearGroupby();예제 파일
인터넷에서 다운로드 혹은
WEBSQUARE_DEV_PACK의 GUIDE 프로젝트에서 보기
(/GridView/Grouping/clearGroupby_GridView.xml)
YouTube 동영상 (https://youtu.be/ODulxBbi1hY)
그룹핑 조건 확인
getGroupbyData() 함수는 groupbyZone 속성을 통해 현재 적용된 그룹핑 조건을 반환합니다.
$r_title(사용 예) //JSON 형태로 반환. var data = gridView1.getGroupbyData(); //string으로 반환. var data = gridView1.getGroupbyData(false);
예제 파일
인터넷에서 다운로드 혹은
WEBSQUARE_DEV_PACK의 GUIDE 프로젝트에서 보기
(/GridView/Grouping/getGroupbyData_GridView.xml)
YouTube 동영상 (https://youtu.be/8QHBOsQZ4VQ)
그룹핑 후 Excel 파일로 다운로드
advancedExcelDownload 함수를 이용할 경우 그룹핑을 수행한 GridView를 Excel 파일로 다운로드할 수 있습니다. 단, 아래의 예제와 같이 options.groupby="true"로 설정하십시오.
설명 | 그룹핑된 상태의 GridView를 엑셀 파일로 다운로드. |
|---|---|
값 |
|
$r_title(사용 예)
var options = {};
options.fileName = "test.xlsx";
options.type = "0";
options.startRowIndex = 0;
options.startColumnIndex = 0;
options.removeColumns = "";
options.groupby = "true";
gridView1.advancedExcelDownload(options);병합
셀 병합
동일한 데이터가 연속적으로 반복될 경우, 아래 방식으로 동일한 데이터가 반복되는 셀을 병합할 수 있습니다.
- 셀 병합 방법
(1) 동일한 컬럼 내에서 연속적으로 동일한 데이터를 갖는 셀을 병합. (열 병합.)
(2) 동일한 행 내에서 연속적으로 동일한 데이터를 갖는 셀을 병합. (행 병합.)
(3) 열 병합 후, 행 병합.
(4) 행 병합 후, 열 병합.
(5) 왼쪽 열이 병합된 경우, 열 병합.
(6) 위쪽 행이 병합된 경우, 행 병합.
YouTube 동영상 (https://youtu.be/PfhoJKm7BPU)
열 기준 병합
관련 속성 |
|
|---|---|
관련 함수 |
|
열 기준 병합 (예시)
예제 파일
인터넷에서 다운로드 혹은
WEBSQUARE_DEV_PACK의 GUIDE 프로젝트에서 보기
(/GridView/Merge/mergeCells_mergeByCol_GridView.xml)
YouTube 동영상 (https://youtu.be/ZwOzIKH8X5w)
행 기준 병합
관련 속성 |
|
|---|---|
관련 함수 |
|
행 기준 병합 (예시)
예제 파일
인터넷에서 다운로드 혹은
WEBSQUARE_DEV_PACK의 GUIDE 프로젝트에서 보기
(/GridView/Merge/mergeCells_mergeByRow_GridView.xml)
YouTube 동영상 (https://youtu.be/v9fKLoRsxE0)
열 기준 병합 후, 행 기준 병합
관련 속성 |
|
|---|---|
관련 함수 |
|
아래와 같이 열 병합을 먼저 수행합니다.
열 기준 병합 (예시)
이후 열 병합된 셀들을, 아래와 같이, 다시 행 기준으로 병합합니다.
열 기준 병합 후 행 기준 병합 (예시)
예제 파일
인터넷에서 다운로드 혹은
WEBSQUARE_DEV_PACK의 GUIDE 프로젝트에서 보기
(/GridView/Merge/mergeCells_mergeByColRec_GridView.xml)
YouTube 동영상 (https://youtu.be/_PjiyUupNqQ)
행 기준 병합 후, 열 기준 병합
관련 속성 |
|
|---|---|
관련 함수 |
|
아래와 같이 행 병합을 먼저 수행합니다.
행 기준 병합 (예시)
이후 행 병합된 셀들을, 아래와 같이, 다시 열 기준으로 병합합니다.
행 기준 병합 후 열 기준 병합 (예시)
예제 파일
인터넷에서 다운로드 혹은
WEBSQUARE_DEV_PACK의 GUIDE 프로젝트에서 보기
(/GridView/Merge/mergeCells_mergeByRowRec_GridView.xml)
YouTube 동영상 (https://youtu.be/Lsv70-rBMMg)
왼쪽 열 기준 열 병합
관련 속성 |
|
|---|---|
관련 함수 |
|
왼쪽 열 기준 열 병합 (예시)
예제 파일
인터넷에서 다운로드 혹은
WEBSQUARE_DEV_PACK의 GUIDE 프로젝트에서 보기
(/GridView/Merge/mergeCells_mergeByRestricCol_GridView.xml)
YouTube 동영상 (https://youtu.be/pqgJWbglxlw)
윗 행 기준 행 병합
관련 속성 |
|
|---|---|
관련 함수 |
|
윗 행 기준 행 병합 (예시)
예제 파일
인터넷에서 다운로드 혹은
WEBSQUARE_DEV_PACK의 GUIDE 프로젝트에서 보기
(/GridView/Merge/mergeCells_mergeByRestricRow_GridView.xml)
YouTube 동영상 (https://youtu.be/CkW9YXR0w7g)
셀 병합 해제
위에 설명한 방법으로 병합된 셀들을 mergeClear() 함수를 사용하여 병합을 해제할 수 있습니다.
$r_title(사용 예)
gridView1.mergeClear();YouTube 동영상 (https://youtu.be/bjXdUUifNlw)
포커스된 셀 병합 및 병합 해제
관련 함수 |
|
|---|
YouTube 동영상 (https://youtu.be/UPplWg8kuXM)
특정 셀들의 병합 및 병합 해제
지정한 영역의 셀을 병합하거나 병합을 해제
관련 함수 |
|
|---|
$r_title(사용 예)
gridView1.mergeByFree(0,0,4,4);$r_title(사용 예)
gridView1.unmergeByFree(0,0);YouTube 동영상 (https://youtu.be/X16DleFE0Vg)
특정 열에서만 병합
관련 속성 |
|
|---|
$r_title(사용 예 (속성 지정)) mergeCells="bycol" mergeCol="col3,col5" // (결과) // col3 및 col5 컬럼에서만 셀 병합이 수행됨.
YouTube 동영상 (https://youtu.be/mq_Zq0H_K9c)
틀 고정(행 고정)된 부분에서만 병합
관련 속성 |
|
|---|---|
관련 함수 |
|
YouTube 동영상 (https://youtu.be/MKQ1c0k33bw)
$r_title(사용 예 (속성 지정))
fixedRow="4" mergeCellsFixedRows="bycol"
// (결과)
// gridView1의 상단 4개의 행을 고정.
// 행 고정된 부분에서만 행 병합("bycol")이 수행됨.$r_title(사용 예 (함수 사용))
gridView1.setFixedRow(4);
gridView1.mergeCellsFixedRows("byrow");
// (결과)
// gridView1의 상단 4개의 행을 고정.
// 행 고정된 부분에서만 행 병합("byrow")이 수행됨.틀 고정(열 고정)된 부분에서만 병합
관련 속성 |
|
|---|---|
관련 함수 |
|
$r_title(사용 예 (속성 지정))
fixedColumn="4" mergeCellsFixedCols="byrow"
// (결과)
// gridView1의 좌측 4개의 열을 고정.
// 열 고정된 부분에서만 행 병합("byrow")이 수행됨.$r_title(사용 예 (함수 사용))
gridView1.setFixedCol(4);
gridView1.setFixedRightCol(5);
gridView1.mergeCellsFixedCols("bycol");
// (결과)
// gridView1의 좌측 4개의 열을 고정. // gridView1의 우측 5개의 열을 고정.
// 열 고정된 부분에서만 열 병합("bycol")이 수행됨.YouTube 동영상 (https://youtu.be/N6Md83g1YgY)
병합에서 제외할 컬럼 지정
아래의 API를 사용하여 셀 병합에서 제외할 컬럼을 지정할 수 있습니다.
관련 API |
|
|---|
$r_title(사용 예) mergeCol(3, false); mergeByCol(); // (결과) // 4번째 컬럼을 제외하고 열 병합이 수행됨.
YouTube 동영상 (https://youtu.be/bl6q791x12U)
동일 명칭 속성 주의
동일한 명칭의 mergeCol 속성도 존재.
단, mergeCol 속성은 mergeCells="bycol" 설정을 사용할 때 적용 대상이 되는 컬럼의 ID를 mergeCol="col1, col3"와 같이 지정하는 용도로 사용.
병합 상태 확인
아래의 API를 사용하여 특정 셀의 병합 상태를 확인할 수 있습니다.
관련 API |
|
|---|---|
사용 예 |
|
YouTube 동영상 (https://youtu.be/TCRq5oo_wxw)
동일 데이터를 갖는 행 병합
설명 |
|
|---|---|
관련 API |
|
$r_title(colMerge & upperColumn) <w2:column id="pubDate" style="height:70px" inputType="select" width="60" rowSpan="2" dataType="" allOption="" chooseOption="" colMerge="true"> <w2:choices> <w2:itemset nodeset="pubYear/item"> <w2:label ref="label"></w2:label> <w2:value ref="value"></w2:value> </w2:itemset> </w2:choices> </w2:column> <w2:column id="genre" style="height:70px" inputType="text" width="70" rowSpan="2" displayType="all" colMerge="true" upperColumn="pubDate"> </w2:column>
병합에서 제외할 값 지정
mergeExcludeValue 속성을 사용하여 셀 병합에서 제외할 값을 지정할 수 있습니다. 즉, mergeExcludeValue 속성으로 특정 값을 지정해여, 해당 값을 갖는 셀은 병합에서 제외할 수 있습니다.
$r_title(사용 예) // Korea 혹은 빈 값을 갖는 셀을 병합에서 제외. mergeExcludeValue = "Korea,$blank"
예제 파일
인터넷에서 다운로드 혹은
WEBSQUARE_DEV_PACK의 GUIDE 프로젝트에서 보기
(/GridView/Merge/mergeExcludeValue_GridView.xml)
YouTube 동영상 (https://youtu.be/1K7Imek4BuA)
스타일
컬럼
컬럼 배경색 지정
setColumnBackgroundColor() 및 getColumnBackgroundColor() 함수를 사용하여 특정 컬럼의 배경색을 지정하고 확인할 수 있습니다.
$r_title(컬럼 배경색 설정)
// 인덱스 지정
setColumnBackgroundColor(2, "green");
// 아이디 지정
setColumnBackgroundColor("col_id", "green");$r_title(컬럼 배경색 확인)
// 인덱스 지정
getColumnBackgroundColor(2);
// 아이디 지정
getColumnBackgroundColor("col_id");컬럼 배경색 설정 예시
예제 파일
인터넷에서 다운로드 혹은
WEBSQUARE_DEV_PACK의 GUIDE 프로젝트에서 보기
(/GridView/_General/setColumnBackgroundColor_getColumnBackgroundColor_GridView.xml)
YouTube 동영상 (https://youtu.be/v9XqrXxDW60)
컬럼 글자색 지정
setColumnColor() 및 getColumnColor() 함수를 사용하여 특정 컬럼의 글자색을 지정하고 확인할 수 있습니다.
$r_title(컬럼 글자색 설정)
// 인덱스 지정
setColumnColor(1, "red");
// 아이디 지정
setColumnColor("col_id", "red");$r_title(컬럼 글자색 확인)
// 인덱스 지정
getColumnColor(1);
// 아이디 지정
getColumnColor("col_id");컬럼 글자색 설정 예시
예제 파일
인터넷에서 다운로드 혹은
WEBSQUARE_DEV_PACK의 GUIDE 프로젝트에서 보기
(/GridView/_General/setColumnColor_getColumnColor_GridView.xml)
YouTube 동영상 (https://youtu.be/diWw0lLhNCs)
특정 컬럼에 스타일 직접 적용
setColumnStyle() 함수를 사용하여 지정한 컬럼에 특정 스타일을 동적으로 적용할 수 있습니다.
$r_title(사용 예) // 인덱스가 0인 컬럼의 폰트 크기를 20px로 변경. gridView1.setColumnStyle(0, "font-size", "20px");
특정 컬럼에 스타일 직접 적용 예시
예제 파일
인터넷에서 다운로드 혹은
WEBSQUARE_DEV_PACK의 GUIDE 프로젝트에서 보기
(/GridView/_General/setColumnStyle_GridView.xml)
YouTube 동영상 (https://youtu.be/iz9ZqR_0hqs)
행
행 배경색 지정
setRowBackgroundColor() 함수를 사용하여, 필터에 의해 숨겨진 행을 포함한 특정 행의 배경색을 동적으로 변경할 수 있습니다.
$r_title(사용 예)
gridView1.setRowBackgroundColor(
0, // 행 인덱스
“green", // 배경색
false // 실제 인덱스 사용 여부
);행 배경색 지정 예시
예제 파일
인터넷에서 다운로드 혹은
WEBSQUARE_DEV_PACK의 GUIDE 프로젝트에서 보기
(/GridView/_General/setRowBackgroundColor_GridView.xml)
YouTube 동영상 (https://youtu.be/h4a3nwF5VpE)
행 글자색 지정
setRowColor() 및 getRowColor() 함수를 사용하여 특정 행의 글자색을 지정하고 확인할 수 있습니다.
$r_title(사용 예) // 행 글자색 지정 setRowColor(5, "magenta"); // 행 글자색 확인 getRowColor(5);
행 글자색 설정 예시
예제 파일
인터넷에서 다운로드 혹은
WEBSQUARE_DEV_PACK의 GUIDE 프로젝트에서 보기
(/GridView/_General/setRowColor_getRowColor_GridView.xml)
YouTube 동영상 (https://youtu.be/Wty0OZuJkK4)
마우스-오버된 행에 적용할 스타일 설정
마우스-오번된 행에 특정 스타일을 정의할 수 있습니다. 마우스-오버된 행에 적용할 스타일 클래스를 지정한 후, 이를 rowMouseOverClass 속성 값으로 설정하십시오.
$r_title(CSS 정의 예시)
.testFontStyle {
color: magenta;
font-size: 20px;
font-weight: 600;
}rowMosueOverClass=“testFontStyle” 적용 예시
예제 파일
인터넷에서 다운로드 혹은
WEBSQUARE_DEV_PACK의 GUIDE 프로젝트에서 보기
(/GridView/Style/rowMouseOverClass_GridView.xml)
YouTube 동영상 (https://youtu.be/m6TbtM062xE)
마우스-오버된 행에 적용할 배경색 설정
마우스-오번된 행에 특정 배경색을 적용할 수 있습니다. 마우스-오버된 행에 적용할 스타일 클래스를 지정한 후, 이를 rowMouseOverColor 속성 값으로 설정하십시오.
rowMouseOver="true" rowMouseOverColor="orange"
예제 파일
인터넷에서 다운로드 혹은
WEBSQUARE_DEV_PACK의 GUIDE 프로젝트에서 보기
(/GridView/Style/owMouseOver_rowMouseOverColor_GridView.xml)
YouTube 동영상 (https://youtu.be/NCAJNV0oRJs)
특정 행에 CSS 클래스 적용
아래 함수들을 사용하여 특정 행에 CSS 클래스를 적용하거나 취소하고, 지정한 행에 적용된 CSS 클래스를 확인할 수도 있습니다.
- 관련 함수
setRowClass(): CSS 클래스를 적용.removeRowClass(): CSS 클래스 적용을 취소.getRowClass(): 현재 적용된 CSS 클래스를 반환.
$r_title(사용 예 (CSS 클래스 적용)) // index="0" 행에 "cRed" 클래스를 적용 gridView1.setRowClass(0, "cRed"); // index="1" 행에 "cRed" 및 "cBlue" 클래스를 적용 gridView1.setRowClass(1, "cRed cBlue");
$r_title(사용 예 (CSS 클래스 적용 취소)) // index="0" 행의 CSS 클래스 적용을 취소. gridView1.removeRowClass(0);
$r_title(사용 예 (CSS 클래스 반환)) // index="0" 행에 적용한 CSS 클래스 이름을 반환. gridView1.getRowClass(0);
셀
셀 배경색 지정
setCellBackgroundColor() 함수를 사용하여, 필터에 의해 숨겨진 셀을 포함한 특정 셀의 배경색을 동적으로 설정할 수 있습니다.
$r_title(사용 예)
gridView1.setCellBackgroundColor(
0, // 행 인덱스
0, // 컬럼 인덱스
"red", // 셀 배경색
false // 실제 인덱스 사용 여부
);셀 배경색 지정 예시
예제 파일
인터넷에서 다운로드 혹은
WEBSQUARE_DEV_PACK의 GUIDE 프로젝트에서 보기
(/GridView/_General/setCellBackgroundColor_GridView.xml)
YouTube 동영상 (https://youtu.be/qH62eyFsngM)
셀 글자색 지정
setCellColor() 및 getCellColor() 함수를 사용하여 특정 셀의 글자색을 지정하고 확인할 수 있습니다.
$r_title(사용 예) setCellColor(1, 1, "blue"); getCellColor(1,1);
셀 글자색 지정 예
예제 파일
인터넷에서 다운로드 혹은
WEBSQUARE_DEV_PACK의 GUIDE 프로젝트에서 보기
(/GridView/_General/setCellColor_getCellColor_GridView.xml)
YouTube 동영상 (https://youtu.be/P7KKscs83Jo)
특정 셀에 스타일 직접 적용
setCellStyle() 함수를 사용하여 지정한 컬럼에 특정 스타일을 동적으로 적용할 수 있습니다.
$r_title(사용 예) // (0,0) 셀의 배경색을 하늘색으로 변경. gridView1.setCellStyle(0, 0, "background", "lightblue"); // (1,1) 셀에 “font-size: 30px;” 스타일 적용. grid1.setCellStyle(1, 1, "font-size", "30px");
특정 셀에 스타일 직접 적용 예시
예제 파일
인터넷에서 다운로드 혹은
WEBSQUARE_DEV_PACK의 GUIDE 프로젝트에서 보기
(/GridView/_General/setCellStyle_GridView.xml)
YouTube 동영상 (https://youtu.be/EPRchTEh4A0)
특정 셀에 CSS 클래스 적용
setCellClass() 함수를 사용하여 특정 GridView 셀에 지정한 스타일 클래스를 적용할 수 있습니다.
$r_title(사용 예)
gridView1.setCellClass(0, 0, "blue");
//// 스타일 클래스 정의 ////
.blue {
color : blue;
font-weight: bolder;
font-size: 40px;
background-color: yellow;
}setCellClass() 적용 전
setCellClass() 적용 후
예제 파일
인터넷에서 다운로드 혹은
WEBSQUARE_DEV_PACK의 GUIDE 프로젝트에서 보기
(/GridView/_General/setCellClass_GridView.xml)
YouTube 동영상 (https://youtu.be/adJpaP0DK_4)
포커싱, 포커스 이동, 편집 모드
설명 |
|
|---|---|
관련 API |
|
GridView는 여러가지 키를 통하여 제어할 수 있습니다.
셀 포커스 이동: 상하좌우 방향키
편집 관련한 포커스 이동: Tab, Enter, Shift+Tab, Shift+Enter키
포커스된 셀을 수정 모드로 전환: Backspace, Insert 키를 포함한 문자키
수정 모드의 셀에서 값 선택 및 문자간 이동: 상하좌우 방향키
체크박스나 라디오의 값 토글: Space 키
그 밖에도 Home, End, PageUp, PageDown 키 등을 사용할 수 있습니다.
<w2:grid id="grid1" baseNode="item"
repeatNode="filmo"
style="position: absolute ;left:0px;top:0px;width: 800px;height: 400px;"
valueNode="" sortable="true" resize="true"
readOnlyBackgroundColor="#D9E6F3"
readOnly="false" hideHeader="false"
rowNumVisible="true"
rowNumHeaderValue="No."
rowStatusVisible="false"
rowStatusHeaderValue="상태" fixedColumn="2"
focusMode="both"
focusMove="true"
keyMoveEditMode="true"
editModeEvent="ondblclick"
enterKeyMove="down">
...포커싱 (focusMode)
사용자가 GridView 상에서 셀을 선택할 경우, 선택된 셀 및 해당 셀이 속한 행을 포커싱하는 방법을 설정할 수 있습니다. focusMode, selectedCellColor, selectedRowColor 속성을 아래와 같이 설정하십시오.
focusMode"cell"(기본 값) : 셀을 선택."row": 행을 선택."both": 셀과 행을 모두 선택."none": 아무 것도 선택하지 않음.
selectedCellColor: 선택된 셀의 배경색. (예:"yellow")selectedRowColor: 선택된 행의 배경색. (예:"pink")
예제 파일
인터넷에서 다운로드 혹은
WEBSQUARE_DEV_PACK의 GUIDE 프로젝트에서 보기
(/GridView/_General/focusMode_selectedCellColor_selectedRowColor_GridView.xml)
YouTube 동영상 (https://youtu.be/-URZvBoXkI4)
DataList의 rowPosition에 해당하는 행을 포커싱 (syncRowPositionOption)
GridView와 바인딩된 DataList의 rowPosition이 변경된 경우, GridView에서도 변경된 rowPosition에 해당하는 행을 포커싱할 수 있습니다. syncRowPositionOption 속성을 "style"로 설정하면 해당 행을 포커싱할 수 있습니다.
포커싱 스타일만 적용
GridVew에 focusMode="none" 설정이 적용된 경우를 제외하고는, 변경된 rowPosition에 해당하는 행이 포커싱됩니다. (단, 이는 해당 행에 포커싱 스타일을 적용하는 것으로, 실제 DOM Element에서는 포커스를 이동시키지 않습니다.)
예를 들어, DataList의 setRowPosition() 함수로 GridView와 바인딩된 DataList의 rowPosition을 2로 변경하면 GridView의 index="2" 행이 포커싱됩니다.
$r_title(setRowPosition()함수를 사용한 DataList의rowPosition의 변경) // GridView와 바인딩된 dataList1의 rowPosition을 2로 변경. dataList1.setRowPosition(2);
syncRowPositionOption="style" (DataList의 rowPosition을 2로 변경한 경우)
예제 파일
인터넷에서 다운로드 혹은
WEBSQUARE_DEV_PACK의 GUIDE 프로젝트에서 보기
(/GridView/_General/syncRowPositionOption_GridView.xml)
포커스 이동 방식 (focusFlow)
포커스가 GridView의 맨 왼쪽, 맨 오른쪽, 상단, 혹은 하단에 있을 경우 이후 포커스 이동 방식을 설정할 수 있습니다. focusFlow 속성을 아래와 같이 설정하십시오.
"default"(기본 값) : 맨 좌측, 맨 우즉, 상단, 하단에서 더 이상 이동하지 않음."linear": 맨 좌측/우즉 혹은 상단/하단 이후, 위/아래 행 혹은 이전/이후 컬럼으로 이동.
YouTube 동영상 (https://youtu.be/RRYtExw8mC4)
포커스 설정 (setFocusedCell())
setFocusedCell() 함수를 사용하여 지정한 셀로 포커스를 이동할 수 있습니다. 또한, 이미 선택된 셀이 있는 상태에서 setFocusedCell() 함수로 다른 셀에 포커스를 추가하려면 옵션을 keepFocusedCelltrue로 설정하십시오.
$r_title(사용 예)
gridView1.setFocusedCell(1, 1, false,
{
keepFocusedCell: true
}
)예제 파일
인터넷에서 다운로드 혹은
WEBSQUARE_DEV_PACK의 GUIDE 프로젝트에서 보기
(/GridView/_General/setFocusedCell_GridView.xml)
YouTube 동영상 (https://youtu.be/kNXNkiRxhWs)
편집 모드 진입
설명 |
|
|---|---|
관련 API |
|
키 동작 방법 | 해당 inputType |
|---|---|
|
|
|
|
inputType="autocomplete"는 미지원.
editModeEvent & editModeEventIcon
예제 파일
인터넷에서 다운로드 혹은
WEBSQUARE_DEV_PACK의 GUIDE 프로젝트에서 보기
(/GridView/_General/editModeEvent_editModeEventIcon_GridView.xml)
YouTube 동영상 (https://youtu.be/E_fmzz4D0Zo)
keyMoveEdit & ModemoveKeyEditMode & moveKeyEditModeAll
예제 파일
인터넷에서 다운로드 혹은
WEBSQUARE_DEV_PACK의 GUIDE 프로젝트에서 보기
(/GridView/_General/keyMoveEditMode_moveKeyEditMode_moveKeyEditModeAll_GridView.xml)
YouTube 동영상 (https://youtu.be/boSQiWkQzAM)
moveKeyEditMode & moveKeyEditModeAll
예제 파일
인터넷에서 다운로드 혹은
WEBSQUARE_DEV_PACK의 GUIDE 프로젝트에서 보기
(/GridView/_General/moveKeyEditMode_moveKeyEditModeAll_GridView.xml)
YouTube 동영상 (https://youtu.be/eJTTpnbLIeY)
Enter 키 입력 시 포커스 이동 방향 설정
사용자가 셀에서 Enter 키를 입력할 경우 포커스가 이동하는 방향 및 편집 모드 진입 여부를 설정할 수 있습니다. enterKeyMove 속성을 아래와 같이 설정하십시오.
"down"(기본 값) : Enter 키 입력 시 아래쪽 셀로 이동."right": Enter 키 입력 시 오른쪽 셀로 이동."none": Enter 키를 입력해도 포커스 이동이 없음."edit": Enter 키 입력 시 편집 모드로 이동."editRight": 편집 모드로 진입한 후, 다시 Enter 키를 입력하면 오른쪽 셀로 이동."editDown": 편집 모드로 이동한 후, 다시 Enter 키를 입력하면 아래쪽 셀로 이동.
YouTube 동영상 (https://youtu.be/mM_2hO0FG1s)
데이터 복사하기/붙여넣기
설명 |
|
|---|---|
관련 API |
|
복사 기준 설정 (copyOption)
copyOption 속성을 설정하여 바인딩된 DatatList 값 혹은 현재 화면에 표시된 값 중 어떤 값을 복사할 수 있습니다.
copyOption"dataList"(기본 값) : 바인딩된 DatatList 값을 복사."display": 현재 화면에 표시된 값을 복사
YouTube 동영상 (https://youtu.be/WEkPBLOgshE)
복사 방식 결정 (copyType)
copyType 속성을 설정하여 셀 데이터를 복사하는 방식을 결정할 수 있습니다.
copyType"default"(기본 값) : 포커싱된 셀 전체를 복사. 여러 셀을 복사할 경우, 여러 셀에 걸쳐 복사됨."native": 드래깅한 텍스트만 복사. 드래깅된 텍스트는 하나의 셀에만 복사됨.
YouTube 동영상 (https://youtu.be/wtetKx3tna0)
선택한 셀들을 다른 GridView로 복사
dataDragSelect="true" 혹은 useShiftKey="true" 속성 설정을 사용할 경우, 드래깅이나 Shift 키를 사용하여 여러 개의 셀들을 선택하고, 선택한 셀을 다른 GridView로 복사할 수 있습니다.
예제 파일
인터넷에서 다운로드 혹은
WEBSQUARE_DEV_PACK의 GUIDE 프로젝트에서 보기
(/GridView/Dragging/dataDragSelect_useShiftKey_to_copy_GridView/)
YouTube 동영상 (https://youtu.be/bXdHyR0HuJQ)
여러 개의 GridView 셀에 데이터 복사하기
checkEditOnPaste="true" 속성 설정을 추가하면, Excel 파일 등에서 n*n 개 데이터를 복사하여 GridView로 붙여넣기 할 경우, 해당 개수만큼의 GridView 셀에 붙여 넣을 수 있습니다.
checkEditOnPaste="false"
checkEditOnPaste="true"
예제 파일
인터넷에서 다운로드 혹은
WEBSQUARE_DEV_PACK의 GUIDE 프로젝트에서 보기
(/GridView/_General/checkEditOnPaste_GridView.xml)
YouTube 동영상 (https://youtu.be/QIBmgFv5pho)
데이터 추가
GridView와 DataList가 바인딩된 경우, setData();, setJSON(); 및 setXML(); 함수를 사용하여 데이터를 설정하거나 추가할 수 있습니다.
YouTube 동영상 (https://youtu.be/caCW-DB97EI)
데이터가 없을 경우
"데이터 없음" 메시지 표시
GridView와 바인딩된 DataList, LinkedDataList, 혹은 AliasLinkedDataList에 데이터가 없는 경우, noResultMessage 및 noResultMessageVisibleAlways 속성 설정을 통해 "데이터 없음" 메시지를 표시할 수 있습니다.
noResultMessageVisibleAlways="true" noResultMessage="No data."
예제 파일
인터넷에서 다운로드 혹은
WEBSQUARE_DEV_PACK의 GUIDE 프로젝트에서 보기
(/GridView/_General/noResultMessageVisibleAlways_GridView.xml)
YouTube 동영상 (https://youtu.be/rHG-CO9T2eI)
특정 화면 파일 표시
GridView와 바인딩된 DataList, LinkedDataList, 혹은 AliasLinkedDataList에 데이터가 없는 경우, useNoResultMessageURL 및 noResultMessageURL 속성 설정을 통해 특정 화면 파일을 GridView에 표시할 수 있습니다.
예제 파일
인터넷에서 다운로드 혹은
WEBSQUARE_DEV_PACK의 GUIDE 프로젝트에서 보기
(/GridView/_General/useNoResultMessageURL_noResultMessageURL_message/)
YouTube 동영상 (https://youtu.be/Wp3dO7_7RkE)
Excel & CSV
Excel 업로드 (Import)
Excel 다운로드 (Export)
CSV 업로드
CSV 다운로드
여러 GridView를 Excel 파일로 다운로드
GridView 여러 개 → Excel 다운로드 참조.
일반 페이징
설명 |
|
|---|---|
필요 정보 |
|
사용 방법 |
|
<w2:pageList pageSize="2"
displayFormat="#" id="pageList1"
style="position:absolute;left:1px;top:410px;width:600px;height:30px;"
buttonShowType="3">
<script ev:event="onchange(current,before)"
type="javascript">
<![CDATA[
start = current;
$p.executeSubmission("getMovies");
]]>
</script>
</w2:pageList><xf:submission id="getMovies"
ref="reqMovies" target="resMovies"
action="" method="get" mediatype="text/xml"
encoding="UTF-8" instance="" replace="instance"
errorHandler="" customHandler=""
mode="asynchronous" processMsg="조회중입니다.">
<script type="javascript"
ev:event="xforms-submit-done">
<![CDATA[
var totalCnt = WebSquare.ModelUtil
.getInstanceValue('resMovies/rss/channel/total/@filmoTotal');
if (totalSetYn != true) {
var quotient = parseInt(totalCnt / display, 10);
var remainderYn = (totalCnt % display) ? 1 : 0;
var count = quotient + remainderYn;
pageList1.setCount(count);
totalSetYn = true;
}
var dataCnt = WebSquare.ModelUtil
.getInstanceValue('resMovies/rss/channel/total/@filmoDisplay');
if (dataCnt != 0) {
var item = WebSquare.ModelUtil
.findInstanceNode("resMovies/rss/channel/item");
grid1.setXML(item);
}
]]>
</script>
<script type="javascript"
ev:event="xforms-submit">
<![CDATA[
var sub = WebSquare.ModelUtil.getSubmission( "getMovies" );
sub.action = "/developGuide/getPagingData.jsp?start="
+ start + "&display=" + display;
]]>
</script>
</xf:submission>무한 그리드
설명 |
|
|---|---|
관련 API |
|
<w2:grid baseNode="item" repeatNode="filmo" id="grid1" style="position: absolute ;left:0px;top:0px;width: 600px;height: 340px;" valueNode="" sortable="true" resize="true" readOnlyBackgroundColor="#D9E6F3" readOnly="false" hideHeader="false" rowNumVisible="true" rowNumHeaderValue="No." rowStatusVisible="false" rowStatusHeaderValue="상태" fixedColumn="2" focusMode="both" focusMove="true" keyMoveEditMode="true" editModeEvent="ondblclick" enterKeyMove="down" tooltipDisplay="true" oddEvenColorDisplay="false" loadCount="1"> ... <script type="javascript" ev:event="onscrollend"><![CDATA[ start++; $p.executeSubmission("getMovies"); ]]></script> </w2:grid>
<xf:submission id="getMovies"
ref="reqMovies" target="resMovies"
action="" method="get" mediatype="text/xml"
encoding="UTF-8" instance="" replace="instance"
errorHandler="" customHandler=""
mode="asynchronous" processMsg="조회중입니다.">
<script type="javascript"
ev:event="xforms-submit-done"><![CDATA[
var totalCnt = WebSquare.ModelUtil
.getInstanceValue('resMovies/rss/channel/total/@filmoTotal');
if (totalSetYn != true) {
output2.setValue(totalCnt);
totalSetYn = true;
}
var dataCnt = WebSquare.ModelUtil
.getInstanceValue('resMovies/rss/channel/total/@filmoDisplay');
if (dataCnt != 0) {
var item = WebSquare.ModelUtil
.findInstanceNode("resMovies/rss/channel/item");
grid1.setXML(item, true);
output1.setValue(grid1.getRowCount());
}
]]></script>
<script type="javascript"
ev:event="xforms-submit"><![CDATA[
var sub = WebSquare.ModelUtil.getSubmission( "getMovies" );
sub.action = "/developGuide/getPagingData.jsp?start="
+start+"&display="+display ;
]]></script>
</xf:submission>읽기 전용
readOnly 속성을 통해 특정 열을 읽기 전용으로 설정할 수 있습니다. 행, 열, 셀에 대한 읽기 전용 설정은 API를 통해서도 가능합니다. readOnly 설정은 그리드 전체, 행, 열, 셀 별로 적용가능합니다.
설명 |
|
|---|---|
관련 API |
|
읽기 전용 셀 선택
설명 |
|
|---|---|
관련 API |
|
읽기 전용 설정 동적 적용 및 해제
setReadOnly() 함수를 사용하면 GridView 전체, 혹은 특정 컬럼, 행, 셀에 대해 readOnly 속성을 동적으로 설정하고 해제할 수 있습니다.
YouTube 동영상 (https://youtu.be/CaUt7NoNdqM)
표 제목
- 관련 속성
captionAuto: 표 제목을 자동으로 생성할지 여부.
captionTitle: 표 제목을 자동으로 생성할 때 사용할 텍스트
$r_title(사용 예) captionTitle="표 제목" captionAuto="true"
헤더가 항목 1, 항목2, 항목 3인 세 개의 칼럼을 포함하고 위와 같은 설정을 갖는 GridView의 경우 "표 제목 은(는) 항목 1, 항목 2, 항목 3 을(를) 나타낸 표"라는 제목이 생성됩니다.
N/A
- kbd>CaptionTitle
captionAuto"true" captionTitle="정보 테이블"
$r_title(표 제목 생성 결과)
<caption id="caption1" style="position:relative; top:100px;" value="this is a grid caption." class="setcaption">정보 테이블은(는) 정보 1,정보 2,정보 3 을(를) 나타낸 표</caption>captionAuto"true" captionTitle=""
$r_title(표 제목 생성 결과)
<caption id="caption1" style="position:relative; top:100px;" value="this is a grid caption." class="setcaption">정보 1,정보 2,정보 3 을(를) 나타낸 표</caption>조건 | 생성 제목 |
|---|---|
captionAuto="true" captionTitle="표 제목" | "표 제목 은(는) 항목 1, 항목 2, 항목 3 을(를) 나타낸 표" |
captionAuto="true" captionTitle="" | "항목 1, 항목 2, 항목 3 을(를) 나타낸 표" |
GridView에 titleAuto="true" 설정할 경우, 헤더의 inputType="text"인 컬럼의 각 셀의 <td>에 title 속성을 자동으로 생성할 수 있습니다.
제약 사항
아래와 같은 경우 titleAuto 속성을 지원하지 않습니다. 이 경우 각 셀의 title 속성을 직접 설정해야 합니다.
(1) 헤더 또는 바디의 셀들이 합쳐진 경우
(2) 헤더가 두 줄인 경우
(3) 헤더가 inputType="text"를 제외한 다른 경우
inputType="text" / "link" / "button"
헤더에 데이터가 있을 때 |
|
|---|---|
헤더에 데이터가 없을 때 |
|
inputType="check" / "radio"
헤더에 label 값이 있을 때 |
|
|---|---|
헤더에 label 값이 없을 때 |
|
inputType="select"
헤더에 label 값이 있을 때 |
|
|---|---|
헤더에 label 값이 없을 때 |
|
제약 사항
아래와 같은 경우 titleAuto 속성을 지원하지 않음. 이 경우 각 셀의 title 속성을 직접 설정해야 함.
(1) 헤더 또는 바디의 셀들이 합쳐진 경우
(2) 헤더가 두 줄인 경우
(3) inputType="text"를 제외한 다른 경우
툴팁
툴팁 표시하기
Body
아래 속성을 지정하여 GridView의 Body에 툴팁을 표시할 수 있습니다.
Body
tooltipDisplay: 툴팁을 표시.tooltipShowAlways: 텍스트 잘림에 상관 없이 툴팁을 항상 표시.
Header
아래 속성을 지정하여 GridView의 Header에 툴팁을 표시할 수 있습니다.
Header
tooltipHeader: 툴팁을 표시.tooltipHeaderShowAlways: 텍스트 잘림에 상관 없이 툴팁을 항상 표시.tooltip: 툴팁으로 표시할 텍스트.
헤더 툴팁
예제 파일
인터넷에서 다운로드 혹은
WEBSQUARE_DEV_PACK의 GUIDE 프로젝트에서 보기
(/GridView/_General/tooltipDisplay_tooltipShowAlways_GridView.xml)
YouTube 동영상 (https://youtu.be/2WxgLVxA4Qs)
툴팁을 표시하지 않을 컬럼의 inputType 지정
설명 |
|
|---|---|
관련 API |
|
예제 파일
인터넷에서 다운로드 혹은
WEBSQUARE_DEV_PACK의 GUIDE 프로젝트에서 보기
(/GridView/_General/tooltipHideInputType_GridView.xml)
YouTube 동영상 (https://youtu.be/62HEXAOmUUE)
헤더 숨기기
설명 |
|
|---|---|
관련 API |
|
화폐 표시
금액을 표시하는 경우, 각 컬럼 별로 금액 표시 방법 및 화폐 단위를 동적으로 설정할 수 있습니다.
- 관련 API
changeCurrency: 화폐 단위 별 표시 방법 지정
euroMask, rupeeMask, tengeMask: 각 화페 별 금액 표시 방법
changeCurrency (columnID, dataType, displayFormat, delimiter, decimalDelimiter, customModelFormatter, customModelUnFormatter)columnID: 화폐 단위를 적용할 컬럼 IDdataType: 적용할 화폐 단위displayFormat: 칼럼에 적용할 포맷delimiter: 통화 구분자decimalDelimiter: 통화 소수 구분자customModelFormatter: GridView와 바인딩된 DataList에 값이 저장되기 전에 실행되는 사용자 정의 함수.customModelUnFormatter: GridView와 바인딩된 DataList에 값을 읽어올 때 값을 반환하기 전에 실행되는 사용자 정의 함수.
$r_title(사용 예 (1))
...
gridView1.changeCurrency("col1", "euro");
gridView1.changeCurrency("col2", "number");
gridView2.changeCurrency("col3", "rupee", "##,##,###.00");
gridView2.changeCurrency("col4", "tenge", "# ###-00");
...
<w2:gridView id="gridView1"
euroMask="#.###,00" numberMask="#,###.00"
...
</w2:gridView>
<w2:gridView id="gridView2"
...
</w2:gridView>$r_title(사용 예 (2)) scwin.inputCustomFormat = function(realData, formattedData) { return realData.replace(",", "."); }; scwin.inputCustomUnFormat = function(realData, formattedData) { return realData.replace(".", ","); }; scwin.trigger1_onclick = function(e) { var info = { colID: "col1", type: "euro", format: "#.###,00", customModelFormatter: "scwin.inputCustomFormat", customModelUnformatter: "scwin.inputCustomUnFormat" } gridView1.changeCurrency(info); };
맵핑
각 컬럼의 데이터를 서로 다른 컴포넌트와 맵핑할 수 있습니다. 즉, GridView의 특정 행을 선택할 경우, 해당 행 각 컬럼의 값을 서로 다른 컴포넌트에 표시할 수 있습니다.
예제 파일
인터넷에서 다운로드 혹은
WEBSQUARE_DEV_PACK의 GUIDE 프로젝트에서 보기
(/GridView/_General/column_mapping_GridView.xml)
YouTube 동영상 (https://youtu.be/47hscGTF_gI)
컨텍스트 메뉴
컨텍스트 메뉴 표시 (바디)
contextMenu="true" 설정을 추가할 경우, GridView를 우클릭하면 컨텍스트 메뉴가 표시됩니다.
컨텍스트 메뉴
YouTube 동영상 (https://youtu.be/AF3KgtSROwc)
컨텍스트 메뉴 표시 (헤더)
contextMenu="true" 설정만 사용하면 GridView의 바디에 있는 셀을 우클릭할 때만 컨텍스트 메뉴가 표시됩니다. 헤더의 셀을 우클릭해도 컨텍스트 메뉴를 표시하려면 useHeaderContextMenu="true" 속성을 추가하십시오.
예제 파일
인터넷에서 다운로드 혹은
WEBSQUARE_DEV_PACK의 GUIDE 프로젝트에서 보기
(/GridView/_General/useHeaderContextMenu_contextMenu_GridView.xml)
YouTube 동영상 (https://youtu.be/Ggkkn42zZMU)
Alt 키 + 마우스 좌클릭을 통한 컨텍스트 메뉴 표시
contextMenuAltClick=“true” 설정을 추가할 경우, Alt 키 + 마우스 좌클릭을 통해 GridView의 컨텍스트 메뉴를 표시할 수 있습니다.
예제 파일
인터넷에서 다운로드 혹은
WEBSQUARE_DEV_PACK의 GUIDE 프로젝트에서 보기
(/GridView/_General/contextMenuAltClick_GridView/)
YouTube 동영상 (https://youtu.be/iqsNUcLaBIU)
컨텍스트 메뉴를 통한 컬럼 폭 조정
컨텍스트 메뉴를 사용하여 autoFit 속성을 사용할 때와 마찬가지로 GridView 컬럼의 너비를 자동으로 조절할 수 있습니다.
GridView의 컨텍스트 메뉴
예제 파일
인터넷에서 다운로드 혹은
WEBSQUARE_DEV_PACK의 GUIDE 프로젝트에서 보기
(/GridView/_General/contextMenu_autoFit_GridView/)
YouTube 동영상 (https://youtu.be/PYq9S0e4T8w)
GridView 높이
초기 height 값 설정
visibleRowNumFix=“true” 설정을 추가할 경우, visibleRowNum 속성 설정에 따라 GridView의 높이를 설정할 수 있습니다.
예제 파일
인터넷에서 다운로드 혹은
WEBSQUARE_DEV_PACK의 GUIDE 프로젝트에서 보기
(/GridView/_General/visibleRowNum_visibleRowNumFix_GridView/)
YouTube 동영상 (https://youtu.be/vftrJvR2tT8)
그리기
GridView 상태(스타일) 확인 및 적용
getCurrentGridStyle() 함수를 사용하면 (컬럼 순서, 컬럼 길이, 숨겨진 컬럼, 고정된 컬럼 등과 같은) 현재 GridView의 상태를 XML 문자열 형태로 반환할 수 있습니다. 또한 setGridStyle() 함수를 사용하면 GridView의 특정 상태를 지정하여 해당 상태로 GridView를 다시 그릴 수 있습니다.
GridView를 그립니다.
GridView 초기 상태
컨텍스트 메뉴를 사용하여 GridView 컬럼을 숨기고 정렬을 수행하여 GridView의 상태를 변경합니다.
컬럼 숨기기 및 정렬을 수행하여 GridView 상태 변경
getCurrentGridStyle()함수를 사용하여 현재 GridView 상태를 로컬에 저장하십시오.
$r_title(사용 예 (현재 GridView 상태를 로컬에 저장))
var gridStyle = gridView1.getCurrentGridStyle();
$p.local.setItem("gridStyle", gridStyle);화면 재로딩 등을 통해 GridView를 초기화합니다.
GridView 초기화
setGridStyle()함수를 사용하여 앞의 3단계에서 저장한 GridView 상태를 불러와 이를 초기화된 GridView에 적용합니다.
$r_title(사용 예 (로컬에 저장한 GridView의 상태로 GridView를 다시 그리기))
var gridStyle = $p.local.getItem("gridStyle");
gridView1.setGridStyle(gridStyle);위의 3단계에서 저장한 상태를 GridView에 적용한 후
예제 파일
인터넷에서 다운로드 혹은
WEBSQUARE_DEV_PACK의 GUIDE 프로젝트에서 보기
(/GridView/_General/getCurrentGridStyle_setGridStyle_GridView.xml)
YouTube 동영상 (https://youtu.be/B8Nbvp_CF_E)
렌더링 방법 (drawType)
drawType 속성을 사용하여 GridView를 그리는 방법을 결정할 수 있습니다. "virtual"은 화면에 보이는 부분만 그리고, "native"는 전체 GridView를 그립니다.
항목 |
|
|
|---|---|---|
데이터 양 | 데이터가 많은 경우 유리. | 데이터가 적은 경우 유리. |
대용량 그리드 | 화면에 보이는 영역만 랜더링하므로 대용량 그리드에서 유리. | |
세로 스크롤 처리 |
| |
행 높이가 다른 경우 | GridView 각 행의 높이( | |
제약 사항 |
|
YouTube 동영상 (https://youtu.be/JvQNnEjHWzc)
모바일
Press 이벤트 지원
hammerEnabled="true" 설정을 추가할 경우, 모바일 환경에서의 Press 이벤트를 PC에서의 셀 더블 클릭 이벤트와 동일하게 처리할 수 있습니다. Press 이벤트로 인식되기 위해 필요한 셀 누르기(Press) 시간은 hammerPressTime 속성으로 지정하십시오.
예제 파일
인터넷에서 다운로드 혹은
WEBSQUARE_DEV_PACK에서 보기
(/GridView/Mobile/hammerEnabled_hammerPressTime_GridView.xml)
YouTube 동영상 (https://youtu.be/rLljniG8Bik)
드릴다운 목록 열기/닫기
모바일 환경에서 inputType="drilldown" 컬럼의 드릴 다운 목록을 셀 터치로 열고 닫으려면 drilldownToggle="enter" 및 hammerEnabled="true" 설정을 추가하십시오. 이 경우, inputType="drilldown" 컬럼에서 목록 기호가 있는 셀을 터치하여 목록을 열고 닫을 수 있습니다.
예제 파일
인터넷에서 다운로드 혹은
WEBSQUARE_DEV_PACK에서 보기
(/GridView/Mobile/drilldownToggle_hammerEnabled_GridView.xml)
YouTube 동영상 (https://youtu.be/K8ACGkL6xio)
GridView 성능을 위한 권장 사항
- 권장 사항
GridView 조회시 허용 가능한 메모리의 크기는 임계치의 50%내로 사용하는 것을 권장.
그리드의 조회 건수는 약 400,000 Cell을 기준으로 제한하는 것을 권장
GridView를 조회해서 렌더링할 때 소요되는 시간은 전체 셀의 개수에 영향을 받습니다. 셀이 많을수록 GridView를 조회해서 화면에 표시하는데 소요되는 시간은 증가하며, 셀이 많을 수록 증가폭이 더 큽니다.
셀 개수에 따른 GridView 조회 시간
GridView와 관련된 주요 웹 접근성 지침은 아래와 같습니다.
Pivot
요약 | 기존 GridView에서 제한적으로 제공했던 Pivot 기능을 전문적으로 제공하는 컴포넌트. Excel의 Pivot Table 기능과 유사. |
|---|---|
기능 및 특징 |
|
YouTube 동영상 |
|
비고 | 현재 IE10 버전 이상만 지원. |
주요 기능 | 설명 | |
|---|---|---|
축 변환 | 드래그&드롭을 통해 행과 열 사이의 축 변환이 가능하고, 새로운 축을 사용하여 테이블을 다시 생성. | |
컬럼 리사이징 | 드래그&드롭을 통해 헤더 사이즈 변경 가능. | |
Pivot 너비에 따른 컬럼 폭 자동 조절 | 테이블 전체 혹은 마지막 열의 너비를 화면 크기에 맞게 자동 조절 가능.
| |
파일 Import/Export | Excel (xsl, xsls) | 파일 내보내기/가져가오 가능. |
CSV | ||
컨텍스트 메뉴 제공 | 고정할 행 및 열을 지정할 수 있음. | |
포매팅 기능 | 자용자 정의 메뉴 지정 가능. | |
통계 함수 (행, 열, 및 전체 데이터에 대한 통계) | 숫자 포맷에 필요한 옵션 제공.
| |
헤더 데이터 필터링 | 화면에 출력하지 않을 헤더 데이터 지정 가능. | |
DataCollection 바인딩 | DataCollection과 바인딩 가능. | |
텍스트 정렬 |
| |
총 합계
showGrandTotal="true" 설정을 추가할 경우 총 합계를 표시할 수 있습니다.
총 합계를 표시하거나 숨기기
YouTube 동영상 (https://youtu.be/hsqXcU-qWNY)
총 합계 표시 위치 설정
showGrandTotal="true" 설정을 사용할 경우, grandTotalDisplayType 속성을 통해 총 합계 표시 위치를 선택할 수 있습니다.
예제 파일
인터넷에서 다운로드 혹은
WEBSQUARE_DEV_PACK의 GUIDE 프로젝트에서 보기
(/Pivot/showGrandTotal_grandTotalDisplayType_Pivot.xml)
YouTube 동영상 (https://youtu.be/_Y7BYZg4fUg)
총 합계 라벨 지정
- showGrandTotal="true"인 경우,
allTotalName 속성을 전체 행 합계의 Label 값으로,
grandTotalName 속성을 전체 열 합계의 Label 값으로 지정할 수 있습니다.
grandTotalName & allTotalName
YouTube 동영상 (https://youtu.be/kyAnzuh-0fc)
Excel 파일로 다운로드
다운로드하기
pivotExcelDownload( opt ); 함수를 이용하여 피봇을 Excel 파일로 다운로드 할 수 있습니다.
$r_title(사용 예)
var options = {};
options.sumColor = "red";
options.sumFontSize = "15";
options.sumFormat = "#,###";
options.bodyFormat = "#,###";
pivot1.pivotExcelDownload(options);YouTube 동영상 (https://youtu.be/2vzPY0QLCok)
컬럼 너비 조정
options.autoSizeColumn 옵션 설정을 통해 헤더 혹은 바디의 텍스트 길이에 따라 해당 컬럼의 너비를 조절할 수 있습니다.
options.autoColumnSize : body– 피벗의 Body를 기준으로 너비를 조정.options.autoColumnSize : header– 피벗의 Header를 기준으로 너비를 조정.options.autoSizeColumn : false(기본 값) – 너비 자동 맞춤을 수행하지 않음.
$r_title(사용 예)
var options = {};
options.type = "1";
options.fileName = "excelData.xls";
options.bodyFormat = "#,###,0#"; options.bodyTextAlign = "right";
options.autoSizeColumn = "false"; //“body” “header”
pivot1.pivotExcelDownload(options);예제 파일
인터넷에서 다운로드 혹은
WEBSQUARE_DEV_PACK의 GUIDE 프로젝트에서 보기
(/Pivot/pivotExcelDownload_options_autoSizeColumn_Pivot.xml)
YouTube 동영상 (https://youtu.be/oQNBP6TfFAU)
세로축 헤더 병합 후 다운로드
headerYMerge="true" 설정을 통해 세로축 헤더 컬럼을 병합한 후 pivotExcelDownload() 함수로 Pivot을 Excel 파일로 다운로드하면, Excel 파일에서도 헤더 병합 상태가 유지됩니다.
예제 파일
인터넷에서 다운로드 혹은
WEBSQUARE_DEV_PACK의 GUIDE 프로젝트에서 보기
(/Pivot/headerYMerge_pivotExcelDownload_Pivot.xml)
YouTube 동영상 (https://youtu.be/cyOfyb2seAE)
Excel 파일을 Pivot으로 업로드
pivotExcelUpload() 함수를 이용하여 Excel 파일을 피봇으로 업로드할 수 있습니다.
$r_title(사용 예)
var options = {};
options.startRowIndex = 1;
options.startColumnIndex = 1;
options.append = 0;
pivot1.pivotExcelUpload(options);YouTube 동영상 (https://youtu.be/Vxrj5-Wmzjk)
헤더 컬럼 병합 (headerYMerge)
headerYMerge 속성을 사용할 경우, 헤더의 컬럼을 병합할 수 있습니다.
headerYMerge="false"
headerYMerge="true"
YouTube 동영상 (https://youtu.be/z8XAjzKVfDw)
헤더 컬럼 이동 금지 (noColumnMove)
noColumnMove="true" 설정을 사용할 경우 드래깅을 통한 헤더 컬럼 이동을 방지할 수 있습니다.
YouTube 동영상 (https://youtu.be/jOGforAhQk4)