[!Note] Please note that this control has been deprecated and replaced with the Grid component, and as such, we recommend migrating to that control. This will not be receiving any new features, bug fixes will be deprioritized. For help or questions on migrating your codebase to the Data Grid, please contact support.
Blazor Grid Column Pinning Overview
O Ignite UI for Blazor Data Grid dá suporte à capacidade de fixar colunas, permitindo que os usuários finais bloqueiem uma coluna em uma ordem de coluna específica.
Uma coluna ou várias colunas podem ser fixadas no lado esquerdo ou direito da Grade de Dados. Além disso, você pode alterar o estado do pino das colunas utilizando a PinColumn
função.
Blazor Grid Column Pinning Example
A API de fixação de coluna na grade de dados pode ser ativada definindo a propriedade de Pinned
uma coluna ou ao defini-la utilizando a PinColumn
função da grade.
A Pinned
propriedade tem três opções:
- Esquerda - a ativação
Left
posicionará as colunas fixadas no lado esquerdo da grade. - Direita - habilitar
Right
posicionará as colunas fixadas no lado direito da grade. - Nenhum - habilitar
None
desafixará uma coluna e reposicionará seu posicionamento padrão na grade.
As colunas não afixadas adjacentes às colunas fixadas ainda manterão a rolagem horizontal.
A PinColumn
função contém dois parâmetros obrigatórios. O primeiro parâmetro é a coluna a ser fixada e o segundo é com a configuração de PinnedPositions
enumeração.
Code Snippet
O código a seguir demonstra como implementar a fixação de coluna na Grade de Dados do Blazor com fixação de coluna usando o método Pinned
propriedade e PinColumn
função:
<IgbDataGrid Height="100%" Width="100%"
DefaultColumnMinWidth="120"
DataSource="@DataSource"
AutoGenerateColumns="false"
@ref="DataGridRef">
@*Columns Pinned Left*@
<IgbTextColumn Field="ID" Pinned="PinnedPositions.Left" />
<IgbTextColumn Field="FirstName" Pinned="PinnedPositions.Left" />
<IgbTextColumn Field="LastName" Pinned="PinnedPositions.Left" />
@*Columns Unpinned*@
<IgbDateTimeColumn Field="Birthday" Pinned="PinnedPositions.None" />
<IgbNumericColumn Field="Age" Pinned="PinnedPositions.None" />
<IgbImageColumn Field="CountryFlag" Pinned="PinnedPositions.None" />
@*Columns Pinned Right*@
<IgbTextColumn Field="Street" Pinned="PinnedPositions.Right" />
<IgbTextColumn Field="City" Pinned="PinnedPositions.Right" />
<IgbTextColumn Field="Country" Pinned="PinnedPositions.Right" />
</IgbDataGrid>
Toolbar's Column Pinning UI
A interface do usuário de fixação de coluna pode ser acessada dentro do IgbDataGridToolbar
componente separado da grade. Para isso, tudo o que precisamos fazer é definir a propriedade da columnPinning
barra de ferramentas como true. A barra de ferramentas exibirá um IgbButton
, quando clicado, exibirá a interface do usuário de fixação de coluna. Esse botão também exibe o total de colunas fixadas à esquerda. Se a barra de ferramentas não for criada, habilitar a columnPinning
propriedade não terá efeito e ocultará o botão.
O IgbDataGridToolbar
fornece propriedades adicionais, como adicionar um título à barra de ferramentas usando a ToolbarTitle
propriedade, colocar texto na IgbButton
configuração columnPinningText
da propriedade e adicionar um cabeçalho de título à configuração da interface do usuário columnPinningTitle
oculta da coluna.
Demo
Code Snippet
<IgbDataGridToolbar TargetGrid="DataGridRef"
ToolbarTitle="Grid Toolbar Title"
ColumnPinning="true"
ColumnPinningText="Pinning"
ColumnPinningTitle="Column Pinning" />
<IgbDataGrid Height="100%" Width="100%"
@ref="DataGridRef"
DataSource="DataSource" />
@code {
private IgbDataGrid grid;
public IgbDataGrid DataGridRef
{
get
{
return grid;
}
set
{
grid = value;
StateHasChanged();
}
}
}
API References
IgbButton
IgbDataGridToolbar
PinColumn
PinnedPositions
Pinned