Обработка событий SfGrid RowSelection перезагружает данные
У меня есть следующий код в компоненте Razor:
<SfGrid TValue="DataItem" ID="Grid"
DataSource="@DataList01"
AllowSorting="false"
AllowFiltering="false"
AllowSelection="true"
AllowPaging="false">
<GridSelectionSettings Type="Syncfusion.Blazor.Grids.SelectionType.Single"></GridSelectionSettings>
<GridColumns>
<GridColumn Field="@DataText" HeaderText="Data"></GridColumn>
</GridColumns>
</SfGrid>
При использовании этого кода я могу выбрать любую строку. Однако, если я добавлю обработку событий:
<SfGrid TValue="DataItem" ID="Grid"
DataSource="@DataList01"
AllowSorting="false"
AllowFiltering="false"
AllowSelection="true"
AllowPaging="false">
<GridSelectionSettings Type="Syncfusion.Blazor.Grids.SelectionType.Single"></GridSelectionSettings>
<GridEvents TValue="DataItem" RowSelected="@(row=> SelectedRow = row.Data)" />
<GridColumns>
<GridColumn Field="@DataText" HeaderText="Data"></GridColumn>
</GridColumns>
</SfGrid>
@code {
public DataItem SelectedRow { get; set; }
}
Выбор исчезает после щелчка по нему, и данные перезагружаются.
Можешь мне сказать почему? Что мне следует изменить?
2 ответа
Что ж, ответ кроется в невидимых деталях.
В конце концов, источник данных сетки в коде имел значение:
DataSource="@DataList01"
Это поток на основе gRPC, и оказалось, что поток данных приводит к обновлению сетки при каждом взаимодействии с событием.
После использования локальной копии предоставленных данных выделение работает нормально.
Не могли бы вы поделиться приведенной ниже информацией о проблеме, с которой вы столкнулись. Поскольку мы не можем воспроизвести обнаруженную проблему с нашей стороны при подготовке образца с использованием вашего примера кода и последней версии пакета Syncfusion.Blazor Nuget 18.4.0.47.
Пример: https://www.syncfusion.com/downloads/support/directtrac/general/ze/DataGrid-2097295582 .
Поделитесь следующей информацией, если вы все еще сталкиваетесь с проблемой, о которой сообщаете
- Поделитесь сведениями о версии пакета Syncfusion.Blazor Nuget.
- Поделитесь видеодемонстрацией проблемы.
- Попробуйте воспроизвести обнаруженную проблему в предоставленном образце.