Я работаю с подкрепкой и фильтрацией на стороне сервера для DataGrid Mudblazor, и, проверяя строку, все сохраняется должным образом, но я не могу заставить ряды перепроверить в изменении страницы, с Rowclassfunc.
View
@($"{selectedItems.Count} items selected")
< /code>
@code {
private MudDataGrid? _dataGrid;
private ObsRequestModel _requestDto = new();
private HashSet selectedItems { get; set; } = new HashSet();
private async Task Search()
{
if (_dataGrid is not null)
{
await _dataGrid!.ReloadServerData();
}
}
private async Task OnSearchChange(string newValue)
{
_requestDto.Search = newValue;
await Search();
}
private async Task LoadGridData(GridState state)
{
_requestDto.Filters.Clear();
_requestDto.Page = state.Page + 1;
_requestDto.PageSize = state.PageSize;
// Extract sorting information
var sorting = state.SortDefinitions.FirstOrDefault(); // Assuming single column sorting
if (sorting != null)
{
_requestDto.SortColumn = sorting.SortBy;
_requestDto.SortDirection = sorting.Descending == false ? "asc" : "desc"; // Convert Enum to string or appropriate format
}
// Extract filtering information
foreach (var filter in state.FilterDefinitions)
{
if (filter.Value != null) {
var colString = filter.Title.ToString();
var valString = colString == "County" ? await ReferenceService.GetCountyFips(filter.Value.ToString()) : filter.Value.ToString();
_requestDto.Filters.Add(new FilterDefinition
{
Column = colString,
Operator = filter.Operator.ToString(),
Value = valString
});
}
else if (filter.Operator.ToLower() == "is empty" || filter.Operator.ToLower() == "is not empty")
{
_requestDto.Filters.Add(new FilterDefinition
{
Column = filter.Title.ToString(),
Operator = filter.Operator.ToString(),
Value = "0", // Assuming the value is a string, adjust as necessary
});
}
}
ObListDTO Response = await ReferenceService.GetAllObs(_requestDto);
GridData data = new()
{
Items = Response.Items,
TotalItems = Response.ItemTotalCount
};
return data;
}
private async Task OnStartDateChanged(DateTime? newDate)
{
_requestDto.StartDate = newDate;
await DateChange();
}
private async Task OnEndDateChanged(DateTime? newDate)
{
_requestDto.EndDate = newDate;
await DateChange();
}
private async Task DateChange()
{
if (_dataGrid is not null)
{
await _dataGrid!.ReloadServerData();
}
}
public void Dispose()
{
}
private string SelectedRowClassFunc(ObservationListModel element, int rowNumber)
{
return selectedItems.Contains(element) ? "selected" : string.Empty;
}
Подробнее здесь: https://stackoverflow.com/questions/777 ... wclassfunc
Mudblazor Datagrid строки, не выбирающие с RowClassFunc ⇐ C#
Место общения программистов C#
-
Anonymous
1753169399
Anonymous
Я работаю с подкрепкой и фильтрацией на стороне сервера для DataGrid Mudblazor, и, проверяя строку, все сохраняется должным образом, но я не могу заставить ряды перепроверить в изменении страницы, с Rowclassfunc.
View
@($"{selectedItems.Count} items selected")
< /code>
@code {
private MudDataGrid? _dataGrid;
private ObsRequestModel _requestDto = new();
private HashSet selectedItems { get; set; } = new HashSet();
private async Task Search()
{
if (_dataGrid is not null)
{
await _dataGrid!.ReloadServerData();
}
}
private async Task OnSearchChange(string newValue)
{
_requestDto.Search = newValue;
await Search();
}
private async Task LoadGridData(GridState state)
{
_requestDto.Filters.Clear();
_requestDto.Page = state.Page + 1;
_requestDto.PageSize = state.PageSize;
// Extract sorting information
var sorting = state.SortDefinitions.FirstOrDefault(); // Assuming single column sorting
if (sorting != null)
{
_requestDto.SortColumn = sorting.SortBy;
_requestDto.SortDirection = sorting.Descending == false ? "asc" : "desc"; // Convert Enum to string or appropriate format
}
// Extract filtering information
foreach (var filter in state.FilterDefinitions)
{
if (filter.Value != null) {
var colString = filter.Title.ToString();
var valString = colString == "County" ? await ReferenceService.GetCountyFips(filter.Value.ToString()) : filter.Value.ToString();
_requestDto.Filters.Add(new FilterDefinition
{
Column = colString,
Operator = filter.Operator.ToString(),
Value = valString
});
}
else if (filter.Operator.ToLower() == "is empty" || filter.Operator.ToLower() == "is not empty")
{
_requestDto.Filters.Add(new FilterDefinition
{
Column = filter.Title.ToString(),
Operator = filter.Operator.ToString(),
Value = "0", // Assuming the value is a string, adjust as necessary
});
}
}
ObListDTO Response = await ReferenceService.GetAllObs(_requestDto);
GridData data = new()
{
Items = Response.Items,
TotalItems = Response.ItemTotalCount
};
return data;
}
private async Task OnStartDateChanged(DateTime? newDate)
{
_requestDto.StartDate = newDate;
await DateChange();
}
private async Task OnEndDateChanged(DateTime? newDate)
{
_requestDto.EndDate = newDate;
await DateChange();
}
private async Task DateChange()
{
if (_dataGrid is not null)
{
await _dataGrid!.ReloadServerData();
}
}
public void Dispose()
{
}
private string SelectedRowClassFunc(ObservationListModel element, int rowNumber)
{
return selectedItems.Contains(element) ? "selected" : string.Empty;
}
Подробнее здесь: [url]https://stackoverflow.com/questions/77781117/mudblazor-datagrid-rows-not-selecting-with-rowclassfunc[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия