React Grid 열 크기 조정 개요

    React Grid의 Ignite UI for React 사용하면 사용자가 IgrGrid의 열 너비를 쉽게 조정할 수 있습니다. 기본적으로 드래그 크기 조정 작업이 진행되는 동안 임시 크기 조정 표시기가 표시됩니다. 사용 가능한 크기 조정 옵션은 여러 가지가 있습니다. 픽셀/백분율로 열 크기 조정, 열 크기 제한, 더블 클릭 시 열 크기 자동 조정, 초기화 시 열 크기 자동 조정.

    React Grid Column Resizing Example

    EXAMPLE
    DATA
    TSX
    CSS

    Like this sample? Get access to our complete Ignite UI for React toolkit and start building your own apps in minutes. Download it for free.

    열 크기 조정은 열 수준별로 활성화됩니다. 즉, IgrGrid 에는 크기 조정 가능한 열과 크기 조정 불가능한 열이 혼합되어 있을 수 있습니다. 이는 IgrColumnresizable 입력을 통해 수행됩니다.

    <IgrColumn field="ID" resizable="true" width="100px"></IgrColumn>
    tsx

    다음을 구독할 수 있습니다. ColumnResized의 이벤트 IgrGrid 열 크기가 조정될 때 일부 사용자 정의 논리를 구현합니다. 이전 및 새 열 너비뿐만 아니라 IgrColumn 개체는 이벤트 인수를 통해 노출됩니다.

    function onResize(grid: IgrGridBaseDirective, event: IgrColumnResizeEventArgs) {
      IgrColumn col = event.detail.column;
      string pWidth = event.detail.prevWidth;
      string nWidth = event.detail.newWidth;
    }
    
    <IgrGrid id="grid" autoGenerate="false" columnResized={onResize}>
        <IgrColumn field="ID" width="100px" resizable="true"></IgrColumn>
        <IgrColumn field="CompanyName" width="100px" resizable="true"></IgrColumn>
    </IgrGrid>
    tsx

    Resizing Columns in Pixels/Percentages

    사용자 시나리오에 따라 열 너비는 픽셀, 백분율 또는 두 가지의 혼합으로 정의될 수 있습니다. 이러한 모든 시나리오는 열 크기 조정 기능으로 지원됩니다. 기본적으로 열에 너비가 설정되지 않은 경우 너비가 픽셀 단위로 설정된 사용 가능한 공간에 맞춰집니다.

    이는 다음 구성이 가능함을 의미합니다.

    <IgrGrid id="grid" autoGenerate="false">
        <IgrColumn field="ID" width="10%" resizable="true"></IgrColumn>
        <IgrColumn field="CompanyName" width="100px" resizable="true"></IgrColumn>
        <IgrColumn field="ContactTitle" resizable="true"></IgrColumn>
    </IgrGrid>
    tsx

    There is a slight difference in the way resizing works for columns set in pixels and percentages.

    픽셀

    너비(픽셀)로 열 크기를 조정하는 작업은 열 크기에서 마우스 이동의 수평 크기를 직접 더하거나 빼는 방식으로 수행됩니다.

    백분율

    너비(%)로 열 크기를 조정할 때 마우스 이동의 수평 크기(픽셀)는 대략 그리드 너비에 대한 백분율 크기로 변환됩니다. 열은 계속 반응하며 향후 그리드 크기 조정은 여전히 열에 반영됩니다.

    Ignite UI for React | CTA Banner

    Restrict Column Resizing

    허용되는 최소 및 최대 열 너비를 구성할 수도 있습니다. 이는 IgrColumnminWidthmaxWidth 입력을 통해 수행됩니다. 이 경우 크기 조정 표시기 끌기 작업은 minWidthmaxWidth로 정의된 경계 밖에서 열 크기를 조정할 수 없음을 사용자에게 알리기 위해 제한됩니다.

    <IgrColumn field="ID" width="100px" resizable="true"
                minWidth="60px" maxWidth="230px"></IgrColumn>
    tsx

    최소 및 최대 열 너비 값 유형(픽셀 또는 백분율)을 혼합하는 것이 허용됩니다. 최소값과 최대값에 대해 설정된 값이 백분율로 설정되면 각 열 크기는 픽셀과 유사한 정확한 크기로 제한됩니다.

    이는 다음과 같은 구성이 가능함을 의미합니다.

    <IgrColumn field="ID" width="10%" resizable="true"
                minWidth="60px" maxWidth="230px"></IgrColumn>
    tsx

    또는

    <IgrColumn field="ID" width="100px" resizable="true"
                minWidth="5%" maxWidth="15%"></IgrColumn>
    tsx

    Auto-Size Columns on Double Click

    헤더의 오른쪽을 두 번 클릭하면 각 열의 크기가 자동으로 조정될 수 있습니다. 열의 크기는 헤더 자체를 포함하여 현재 표시되는 가장 긴 셀 값으로 조정됩니다. 이 동작은 기본적으로 활성화되어 있으며 추가 구성이 필요하지 않습니다. 그러나 해당 열에 maxWidth 설정되어 있고 새 너비가 해당 maxWidth 값을 초과하는 경우 열 크기가 자동으로 조정되지 않습니다. 이 경우 열은 미리 설정된 maxWidth 값에 따라 크기가 조정됩니다.

    IgrColumn에 노출된 자동 크기 autosize 방법을 사용하여 열의 크기를 동적으로 자동 조정할 수도 있습니다.

    const column = grid.getColumnByName('ID');
    column.autosize();
    tsx

    Auto-Size Columns on Initialization

    너비를 '자동'으로 설정하여 초기화 시 각 width 크기가 자동으로 조정되도록 설정할 수 있습니다.

    <IgrColumn width='auto'>
    tsx

    열이 뷰에서 처음 초기화되면 너비가 표시되는 가장 긴 셀이나 머리글의 크기로 확인됩니다. 표시되는 행 외부에 있는 셀은 포함되지 않습니다.

    이 접근 방식은 초기화 후 자동 크기 조정보다 성능이 더 최적화되어 있으며 특히 많은 수의 열 크기를 자동 조정해야 하는 경우에 권장됩니다.

    EXAMPLE
    DATA
    TSX
    CSS

    Styling

    사전 정의된 테마 외에도 사용 가능한 CSS 속성 중 일부를 설정하여 그리드를 추가로 사용자 정의할 수 있습니다. 크기 조정 핸들의 색상을 변경하려면 먼저 그리드에 대한 클래스를 설정해야 합니다.

    <IgrGrid className="grid"></IgrGrid>
    tsx

    그런 다음 해당 클래스에 대한 관련 CSS 속성을 설정합니다.

    .grid {
        --ig-grid-resize-line-color: #f35b04;
    }
    css

    Demo

    EXAMPLE
    DATA
    TSX
    CSS

    API References

    Additional Resources

    우리 커뮤니티는 활동적이며 항상 새로운 아이디어를 환영합니다.