【问题标题】:Data Grid Empty Despite Results尽管有结果,但数据网格为空
【发布时间】:2020-11-20 14:02:39
【问题描述】:

我知道我在这里做错了,但我不确定是什么。我有下面的数据网格和一些从 cosmosDB 中获取一些文档的代码。

<SfButton @onclick="btnTest"></SfButton>
<SfGrid @ref="RequestGrid" DataSource="@requests" AllowPaging="true" AllowSorting="true" AllowPdfExport="true" AllowExcelExport="true" Locale="en-GB" Toolbar="@Toolbaritems">
    <GridEvents OnToolbarClick="ToolbarClickHandler" TValue="RequestRoot"></GridEvents>
    <GridPageSettings PageSize="5"></GridPageSettings>
    <GridColumns>
        <GridColumn Field=@nameof(RequestRoot.id) HeaderText="ID" TextAlign="TextAlign.Left" Width="10"></GridColumn>
        <GridColumn Field=@nameof(RequestRoot.identityrequest.email) HeaderText="Email" TextAlign="TextAlign.Left" Width="50"></GridColumn>
        <GridColumn Field=@nameof(RequestRoot.identityrequest.status) HeaderText="Status" TextAlign="TextAlign.Left" Width="150"></GridColumn>
    </GridColumns>
</SfGrid>
<SfDialog Width="250px" IsModal="true" @bind-Visible="@IsVisible">
    <DialogEvents OnOverlayClick="@OnOverlayclick">
    </DialogEvents>
    <DialogTemplates>
        <Content> This is a modal dialog </Content>
    </DialogTemplates>
</SfDialog>
@code {
    private List<RequestRoot> requests = new List<RequestRoot>();
    public SfGrid<RequestRoot> RequestGrid;
    private List<Object> Toolbaritems = new List<Object>() { "Search", new ItemModel() { Text = "Add Request", TooltipText = "Add Request", PrefixIcon = "e-add", Id = "Click" }, "PdfExport", "WordExport", "ExcelExport" };
    bool IsVisible = false;

    protected override async Task OnInitializedAsync()
    {

        IDocumentQuery<RequestRoot> query = client.CreateDocumentQuery<RequestRoot>(UriFactory.CreateDocumentCollectionUri("ID4S", "identityrequest"),
            new FeedOptions { MaxItemCount = -1, EnableCrossPartitionQuery = true, MaxDegreeOfParallelism = 199, MaxBufferedItemCount = 100000 })
            .AsDocumentQuery();

        while (query.HasMoreResults)
        {
            FeedResponse<RequestRoot> feedResponse = await query.ExecuteNextAsync<RequestRoot>();
            Console.WriteLine(feedResponse.Select(x => x.id));
            requests = feedResponse.ToList();
        }
        return;
    }

运行后,我可以看到requests 中有两个项目,但该表没有填充任何数据,我不知道为什么。

【问题讨论】:

    标签: c# list datagrid azure-cosmosdb syncfusion


    【解决方案1】:

    当数据源有空列表时这是一个已知问题,它将在预计于 2020 年 8 月中旬或之前推出的 Service Pack 版本中得到解决。

    在此之前,您可以将数据源属性声明为 null,然后在 OnInitializedAsync 方法中绑定实际值来解决此问题。参考下面的代码sn-p。

    <SfGrid  DataSource="@requests">
    ..
    </SfGrid>
    
    @code {
    
    private List<RequestRoot> requests = null;
    protected override async Task OnInitializedAsync()
    {
    requests = feedResponse.ToList();
    }
    }

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2010-12-17
      • 1970-01-01
      • 2014-05-02
      • 2017-10-15
      • 1970-01-01
      • 1970-01-01
      • 2021-11-27
      相关资源
      最近更新 更多