사용자가 데이터 그리드를 통해 얻고자하는 경험이 결국 '엑셀'과 비슷하므로 데이터그리드는 상당히 많은 기능을 제고하고 있다. 그 기능이 워낙 방대해서 딱히 표준은 없지만 최소 다음 10가지 정도의 기능을 만족해야 DataGrid로서 가치가 있다고 생각한다.
사람들은 MS사의 엑셀에 매우 익숙해져 있고 이와 비슷한 경험을 웹에서 하고 싶어 하므로 빠른 로딩, 부드러운 스크롤링, 풍부한 기능을 모두 담으면서도 동시에 컴포넌트를 사용하는 개발자들이 쉽고 간편하게 사용할 수 있도록 인터페이스를 설계해야 한다. 따라서 요구사항 수집 및 분석, 설계단계에서부터 많은 고민을 시작할 수 밖에 없다.
scrollTop(ST)와 scrollBarTop(BT)를 구하기 위해서는 약간의 수학지식이 필요하다. scrollContainerHeight(SCH), scrollHeight(SH)와 scrollBarContainerHeight(BCH), scrollBarHeight(BH)의 비율이 ST와 BT의 비율과 동일하다는 원리를 이용하면 된다.
ST : SH - SCH = BT : BH - BCH BT = ST * (BH - BCH) / (SH - SCH) ST = (SH - SCH) * BT / (BH - BCH)
| 프로젝트 루트 폴더의 구성 | |
|---|---|
| src | 컴포넌트 소스 폴더 |
| dev | 테스트와 샘플사이트 개발용 폴더 |
| dist | npm배포를 위한 폴더 |
| docs | axui-datagrid.axisj.com서비스를 위한 폴더 |
| src 컴포넌트 소스 폴더 | |
|---|---|
| @types | |
| assets | |
| axui-datagrid | |
| components | |
| examples | |
| pages | |
| routes | |
| styles |