Blazor 그리드 열 크기 조정 개요
Blazor Grid의 Ignite UI for Blazor 하면 사용자가 IgbGrid
열 너비를 쉽게 조정할 수 있습니다. 기본적으로 드래그 크기 조정 작업이 진행되는 동안 임시 크기 조정 표시기가 표시됩니다. 픽셀/백분율로 열 크기 조정, 열 크기 조정 제한, 두 번 클릭 시 열 자동 크기 조정, 초기화 시 열 자동 크기 조정 등 여러 가지 크기 조정 옵션을 사용할 수 있습니다.
Blazor Grid Column Resizing Example
열 크기 조정은 열 수준별로 활성화됩니다. 즉, IgbGrid
에는 크기 조정 가능한 열과 크기 조정 불가능한 열이 혼합되어 있을 수 있습니다. 이는 IgbColumn
의 Resizable
입력을 통해 수행됩니다.
<IgbColumn Field="ID" Resizable=true Width="100px"></IgbColumn>
다음을 구독할 수 있습니다. ColumnResized
의 이벤트 IgbGrid
열 크기가 조정될 때 일부 사용자 정의 논리를 구현합니다. 이전 및 새 열 너비뿐만 아니라 IgbColumn
개체는 이벤트 인수를 통해 노출됩니다.
<IgbGrid Data=data AutoGenerate=false ColumnResized="onResize">
<IgbColumn Field="ID" Resizable=true Width="100px"></IgbColumn>
<IgbColumn Field="CompanyName" Resizable=true Width="100px"></IgbColumn>
</IgbGrid>
@code {
private void onResize(IgbColumnResizeEventArgs args)
{
IgbColumnType col = args.Detail.Column;
string pWidth = args.Detail.PrevWidth;
string nWidth = args.Detail.NewWidth;
}
}
Resizing Columns in Pixels/Percentages
사용자 시나리오에 따라 열 너비는 픽셀, 백분율 또는 두 가지의 혼합으로 정의될 수 있습니다. 이러한 모든 시나리오는 열 크기 조정 기능으로 지원됩니다. 기본적으로 열에 너비가 설정되지 않은 경우 너비가 픽셀 단위로 설정된 사용 가능한 공간에 맞춰집니다.
이는 다음 구성이 가능함을 의미합니다.
<IgbGrid Data=data AutoGenerate=false ColumnResized="onResize">
<IgbColumn Field="ID" Resizable=true Width="10%"></IgbColumn>
<IgbColumn Field="CompanyName" Resizable=true Width="100px"></IgbColumn>
<IgbColumn Field="ContactTitle" Resizable=true></IgbColumn>
</IgbGrid>
[!Note] There is a slight difference in the way resizing works for columns set in pixels and percentages.
픽셀
너비(픽셀)로 열 크기를 조정하는 작업은 열 크기에서 마우스 이동의 수평 크기를 직접 더하거나 빼는 방식으로 수행됩니다.
백분율
너비(%)로 열 크기를 조정할 때 마우스 이동의 수평 크기(픽셀)는 대략 그리드 너비에 대한 백분율 크기로 변환됩니다. 열은 계속 반응하며 향후 그리드 크기 조정은 여전히 열에 반영됩니다.
Restrict Column Resizing
허용되는 최소 및 최대 열 너비를 구성할 수도 있습니다. 이는 IgbColumn
의 MinWidth
및 MaxWidth
입력을 통해 수행됩니다. 이 경우 크기 조정 표시기 끌기 작업은 MinWidth
및 MaxWidth
로 정의된 경계 밖에서 열 크기를 조정할 수 없음을 사용자에게 알리기 위해 제한됩니다.
<IgbColumn Field="ContactTitle" Resizable=true Width="100px" MinWidth="60px" MaxWidth="230px"></IgbColumn>
최소 및 최대 열 너비 값 유형(픽셀 또는 백분율)을 혼합하는 것이 허용됩니다. 최소값과 최대값에 대해 설정된 값이 백분율로 설정되면 각 열 크기는 픽셀과 유사한 정확한 크기로 제한됩니다.
이는 다음과 같은 구성이 가능함을 의미합니다.
<IgbColumn Field="ContactTitle" Resizable=true Width="10%" MinWidth="60px" MaxWidth="230px"></IgbColumn>
또는
<IgbColumn Field="ID" Resizable=true Width="100px" MinWidth="5%" MaxWidth="15%"></IgbColumn>
Auto-Size Columns on Double Click
헤더의 오른쪽을 두 번 클릭하면 각 열의 크기가 자동으로 조정될 수 있습니다. 열의 크기는 헤더 자체를 포함하여 현재 표시되는 가장 긴 셀 값으로 조정됩니다. 이 동작은 기본적으로 활성화되어 있으며 추가 구성이 필요하지 않습니다. 그러나 해당 열에 MaxWidth
설정되어 있고 새 너비가 MaxWidth
값을 초과하는 경우 열 크기가 자동으로 조정되지 않습니다. 이 경우 열은 미리 설정된 MaxWidth
값에 따라 크기가 조정됩니다.
또한 IgbColumn
에 노출된 Autosize
메서드를 사용하여 열 크기를 동적으로 자동 조정할 수도 있습니다.
@code {
private IgbGrid gridRef;
private void AutosizeColumn()
{
IgbColumn column = gridRef.Columns.Where((col) => { return col.Field == "ID"; }).FirstOrDefault();
column.Autosize(false);
}
}
Auto-Size Columns on Initialization
Width
'auto'로 설정하여 초기화 시 각 열의 크기가 자동으로 조정되도록 설정할 수 있습니다.
<IgbColumn Width="auto"></IgbColumn>
열이 뷰에서 처음 초기화되면 너비가 표시되는 가장 긴 셀이나 머리글의 크기로 확인됩니다. 표시되는 행 외부에 있는 셀은 포함되지 않습니다.
이 접근 방식은 초기화 후 자동 크기 조정보다 성능이 더 최적화되어 있으며 특히 많은 수의 열 크기를 자동 조정해야 하는 경우에 권장됩니다.
Styling
사전 정의된 테마 외에도 사용 가능한 CSS 속성 중 일부를 설정하여 그리드를 추가로 사용자 정의할 수 있습니다. 크기 조정 핸들의 색상을 변경하려면 먼저 그리드에 대한 클래스를 설정해야 합니다.
<IgbGrid class="grid"></IgbGrid>
그런 다음 해당 클래스에 대한 관련 CSS 속성을 설정합니다.
.grid {
--ig-grid-resize-line-color: #f35b04;
}
Demo
API References
Additional Resources
우리 커뮤니티는 활동적이며 항상 새로운 아이디어를 환영합니다.