在我的项目中,我使用Radzen Components for Blazor。对于RadzenGrid,我应用了AllowColumnResize="true"
属性,以便能够用鼠标调整列的大小。
有什么方法可以在网格中的任何地方应用我使用AllowColumnResize="true"
应用的列宽吗?
另一个问题是——例如,在我更改列宽并导航到第二页并返回到第一页之后——列宽是默认的。有办法记住这个吗?
我的网格代码:
AllowPaging="true" AllowSorting="true" AllowColumnResize="true" Data="@Data" TItem="ArticleVariantListModel"
RowSelect="@SelectRow">
<Columns>
<RadzenGridColumn TItem="ArticleVariantListModel" Property="Id" Title="Id" Width="70px" />
<RadzenGridColumn TItem="ArticleVariantListModel" Property="Name" Title="@Language.Name" Width="auto" />
<RadzenGridColumn TItem="ArticleVariantListModel" Property="Index" Title="@Language.Index" Width="auto" />
<RadzenGridColumn TItem="ArticleVariantListModel" Property="Barcode" Title="@Language.Barcode" />
<RadzenGridColumn TItem="ArticleVariantListModel" Property="ArticleCategory" Title="@Language.Category" />
<RadzenGridColumn TItem="ArticleVariantListModel" Property="Description" Title="@Language.Description" />
<RadzenGridColumn TItem="ArticleVariantListModel" Property="Variant" Title="@Language.Variant" />
<RadzenGridColumn TItem="ArticleVariantListModel" Property="Size" Title="@Language.Size" />
<RadzenGridColumn TItem="ArticleVariantListModel" Property="Price" Context="data" Title="@Language.Price">```
请检查第二个问题的答案。根据这个答案,您必须处理代码中的网格状态。
第一个问题,是的,您可以为数据网格中的所有列设置一个属性,只需在网格标记中指定属性即可:
<RadzenDataGrid @Data TItem="Object" AllowColumnResize=true>
第二个问题不是在radzen中,你应该创建一些东西来获取宽度值(cookie,在bd中持久化,di等(,然后将列宽与你的对象绑定
<RadzenDataGrid Data=data TItem=string AllowColumnResize=true ColumnWidth="fixColumnWidth">
<RadzenDataGridColumn="SomeData" TItem="Object" ColumnWidth=@width>
</Columns>
</RadzenDataGrid>
@code
{
int width:
int fixColumnWidth= 25;
protected override OnInitiallized(){
width= //(where you stored the value)
}
}
如果希望具有相同的值,则应将该值设置为属性,以便下次访问组件时可以恢复该值。