【问题标题】:DotVVM - GridViewDataSet not loading any dataDotVVM - GridViewDataSet 不加载任何数据
【发布时间】:2018-07-11 21:14:29
【问题描述】:

我遇到的问题是我的外观方法从未被调用,因此我返回的项目始终为零。我不完全知道为什么会发生这种情况,因为它至少应该在初始页面加载时加载项目。我也得到了几乎相同的ViewModel,它工作正常。

这是我想将FavouriteCommodities 加载到GridViewDataSet 的视图模型

//initialized via constructor
private readonly FavouriteCommodityFacade _favouriteCommodityFacade;
public GridViewDataSet<FavouriteCommodityDTO> GridViewDataSetItems { get; set; }
public int PageSize { get; set; } = 10;
private ISortingOptions DefaultSortOptions => new SortingOptions();
public override Task Init()
{
    GridViewDataSetItems = new GridViewDataSet<FavouriteCommodityDTO>()
        {
        PagingOptions = { PageSize = PageSize },
        SortingOptions = DefaultSortOptions
        };           
    return base.Init();
}

public override Task PreRender()
{
    if (!Context.IsPostBack || GridViewDataSetItems.IsRefreshRequired)
    {
        LoadData();
    }
    return base.PreRender();
}

public void LoadData()
{
    FavouriteCommodityGroups = _userAccountFavouriteProductsFacade.GetAllFavouriteProductsToUser();
    //this never fires my facade method below 
    GridViewDataSetItems.OnLoadingData = option => _favouriteCommodityFacade.GetAssignedFavouriteProductsToGroup(option);
}

这是我的门面中从未触发过的方法。

public GridViewDataSetLoadedData<FavouriteCommodityDTO> 
    GetAssignedFavouriteProductsToGroup (IGridViewDataSetLoadOptions gridViewDataSetLoadOption)
{
    using (unitOfWorkProvider.Create())
    {
        var query = _favouriteCommodityByChosenGroupQuery();
        FavouriteProductByGroupFilter.FavouriteGroupId = 16;
        query.Filter = FavouriteProductByGroupFilter;
        var x = GetGridViewDataSetLoadedData(gridViewDataSetLoadOption, query);
        return x.Result;
    }         
}

我也想知道是否有可能在用户点击事件中加载这些项目。当我查看namespace DotVVM.Framework.Controls 时,我没有发现任何有用的东西。

【问题讨论】:

    标签: c# dotvvm


    【解决方案1】:

    所以过了一会儿我发现Repeater 组件没有触发方法。我只能在view 中使用GridView 组件。

    【讨论】:

    • 哦,你是对的 - Repeater 不会触发这个方法。我建议使用手动方式 - 只需在 GridViewDataSet 上调用 LoadFromQueryable
    猜你喜欢
    • 2016-11-22
    • 2018-01-07
    • 2018-10-28
    • 2020-08-06
    • 2018-01-01
    • 1970-01-01
    • 2010-09-25
    • 2022-10-01
    • 2019-11-08
    相关资源
    最近更新 更多