c# - 尽管有结果,但数据网格为空
问题描述
我知道我在这里做错了什么,但我不确定是什么。我有下面的数据网格和一些从 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
其中有两个项目,但该表没有填充任何数据,我不知道为什么。
解决方案
当数据源的列表为空时,这是一个已知问题,它将在预计于 2020 年 8 月中旬或之前推出的 Service Pack 版本中得到解决。
在此之前,您可以将数据源属性声明为 null,然后在 OnInitializedAsync 方法中绑定实际值来解决此问题。请参阅下面的代码片段。
<SfGrid DataSource="@requests">
..
</SfGrid>
@code {
private List<RequestRoot> requests = null;
protected override async Task OnInitializedAsync()
{
requests = feedResponse.ToList();
}
}
推荐阅读
- nginx - Nginx 入口控制器类型 ConfigMap 用于 sigs ALB 入口控制器/AWS LB 控制器
- solidity - ERC721。如何使用 erc721 标准添加与属性相关的附加信息
- firmware - 您如何在 EDK2 中构建胶囊,以及如何将 UEFI 图像放入该胶囊中?
- javascript - 时间计数器命令保持整个时间| 不和谐.js
- angular - 使用模型实现扩展地图
- machine-learning - 如何使用 lstm 执行 TEXT_CLASSIFICATION 多类多输出分类
- html - webp/jpg - 仅在 html 文件中预加载所需的类型
- python - 如何使用来自 GitHub 的非打包 Python 代码
- android - 崩溃 - 签名 apk /bundle 但正常调试 apk 工作正常
- pandas - 如何使用 groupby 创建具有 MultiIndex 列的 DataFrame 的子图