我有一个GridView,它绑定到一个GridViewDataSet。网格与寻呼机一起正确显示。当您试图更改页面时,会在后台抛出错误,并且页面不会更改。
视图代码
<bs:GridView DataSource="{value: Skus}" class="table table-striped table-bordered">
<Columns>
<dot:GridViewTextColumn ValueBinding="{value: RecordType}" HeaderText="Category" />
<dot:GridViewTextColumn ValueBinding="{value: ContourSku}" HeaderText="Contour SKU" />
<dot:GridViewTextColumn ValueBinding="{value: ProductName}" HeaderText="Product Name" />
<dot:GridViewTextColumn ValueBinding="{value: CdsCost}" FormatString="c" HeaderText="CDS Cost" />
<dot:GridViewTextColumn ValueBinding="{value: ListPrice}" FormatString="c" HeaderText="List Price" />
<dot:GridViewTextColumn ValueBinding="{value: ExtendedMrc}" FormatString="c" HeaderText="MRC" />
<dot:GridViewTemplateColumn HeaderText="Active" AllowSorting="false">
<ContentTemplate>
<bp:SwitchButton Text="" Checked="{value: IsActive}">
</bp:SwitchButton>
</ContentTemplate>
</dot:GridViewTemplateColumn>
</Columns>
</bs:GridView>
<bs:DataPager DataSet="{value: Skus}" />
**ViewModel** [Bind(Direction.ServerToClient)]
public GridViewDataSet<CloudProductEntity> Skus { get; set; }
public override Task Init()
{
if (!Context.IsPostBack)
{
Skus = new GridViewDataSet<CloudProductEntity>
{
PagingOptions = { PageSize = 10 },
SortingOptions =
{
SortDescending = true,
SortExpression = nameof(CloudProductEntity.ContourSku)
},
};
Skus.LoadFromQueryable(CloudProductEntity.Search(Search).AsQueryable());
}
return base.Init();
}发布于 2020-05-13 18:29:26
有两个问题妨碍分页正常工作:
GridViewDataSet不支持单向绑定方向,因为分页和排序参数存储在其中,需要提交给server.Init不是从数据库加载数据的好地方--推荐的方法是在回发命令之后发生的PreRender。另外,检查是否DataSet.IsRefreshRequired比检查Context.IsPostBack更好,因为可能有不需要重新加载数据的回发。https://stackoverflow.com/questions/61376645
复制相似问题