소개
요약 | 테이블형 자료를 그리드로 표시 |
---|---|
기능 및 특징 |
|
주요 용도 |
|
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"
속성 설정을 사용할 경우, 그룹핑 후 선택한 필터 조건을 표시하는 필터 박스가 표시됩니다. 필터 박스는 사용자가 설정한 필터링 조건을 표시하고, 사용자가 특정 필터링 조건을 선택할 때 해당 결과물만 화면에 출력합니다.
- 관련 속성
groupbyFilterBox
groupbyFilterBoxLocation
filterBoxVisibleRowNum
아래와 같이 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()
함수로 다른 셀에 포커스를 추가하려면
옵션을 k
eepFocusedCelltrue
로 설정하십시오.
$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)