【问题标题】:.Net Problem: Searching in .net table goes slow.Net 问题:在 .net 表中搜索变慢
【发布时间】:2022-08-02 23:43:48
【问题描述】:

我正在做一个 Blazor Wasm 项目,我在表中搜索的性能存在问题(我的表现在有 3500 个元素,但在生产中它可以有 10000 个)。我必须提高性能,但我不知道该怎么做。是否从 C# 或 Javascript 处理它。

我正在使用 MudBlazor 组件。

有问题的表:

<Virtualize Context=\"item\" OverscanCount=\"50\" TItem=\"ArticuloDto\" Items=\"lArticulos\">
  @if(FilterArticuloFunc(item))
  {
    <tr class=\"d-flex pa-2\" style=\"border-bottom: 1px solid var(--mud-palette-tertiary);\">
      <div class=\"flex-grow-1 flex-shrink-1 align-self-stretch\">
        <MudText Typo=\"Typo.body1\" Style=\"word-break: break-all;\">@item.Descripcion</MudText>
        <MudText Typo=\"Typo.body2\" Color=\"Color.Secondary\">Codigo: @item.Codigo</MudText>
      </div>
      <div class=\"flex-shrink-0\">
        <MudText Typo=\"Typo.h1\" Align=\"Align.Right\">$@item.Precio</MudText>
        <MudText Typo=\"Typo.body2\" Align=\"Align.Right\" Color=\"@StockToColor(item.ExistenciaActual)\">Stock: @item.Existencia</MudText>
      </div>
    </tr>
  }
</Virtualize>

有问题的 FilterFunc:

private bool FilterArticuloFunc(ArticuloDto element)
{
  if (string.IsNullOrWhiteSpace(searchProductText))
    return true;
  if (element.Codigo.Contains(searchProductText, StringComparison.OrdinalIgnoreCase))
    return true;
  if (element.Descripcion.Contains(searchProductText, StringComparison.OrdinalIgnoreCase))
    return true;
  return false;
}

    标签: javascript c# .net blazor webassembly


    【解决方案1】:

    也许您可以使用Datatable side-server processing 来解决这些问题

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-01-07
      • 2013-09-20
      • 1970-01-01
      • 2011-09-14
      • 1970-01-01
      • 2021-10-29
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多