|
0 / 0 / 0
Регистрация: 20.01.2014
Сообщений: 259
|
||||||
Как обратиться к свойству объекта зная его порядковый номер?05.02.2020, 19:37. Показов 5070. Ответов 33
У меня есть список из объектов AbrechnungenDTO, а в dtParams есть поле с номером столбца по которому надо отсортировать... То есть если "0" то по ev.ID, если "1" то по ev.DepotID, если "2" то по ev.DepotBezeichnung и т.д.... В приведенном ниже коде я сортирую по нулевому столбцу
abrechnungenList = abrechnungenQ.OrderBy(ev => ev.ID).Skip(dtParams.Start) .Take(dtParams.Length).ToList(); а мне нужно по столбцу, который соответствует номеру, который я получаю из dtParams.Order[0].Column??? Воот... Я запутался, спасибо всем кто откликнется...
0
|
||||||
| 05.02.2020, 19:37 | |
|
Ответы с готовыми решениями:
33
Обратиться к свойству объекта, зная имя свойства в виде строки
Как обратиться к свойству объекта в массиве? |
|
0 / 0 / 0
Регистрация: 20.01.2014
Сообщений: 259
|
||
| 06.02.2020, 19:07 [ТС] | ||
|
Добавлено через 1 минуту Спасибо! мне ваши последние объяснения понятны. Одно остается. А зачем в принципе нужно объявлять предикат?
0
|
||
|
Модератор
|
|
| 06.02.2020, 19:12 | |
|
1
|
|
|
0 / 0 / 0
Регистрация: 20.01.2014
Сообщений: 259
|
|||
| 06.02.2020, 19:19 [ТС] | |||
|
Добавлено через 2 минуты
0
|
|||
|
Модератор
|
|||||||||||||
| 06.02.2020, 20:08 | |||||||||||||
|
Например, фильтрация Where(Метод_Преликат)Добавлено через 46 минут
Надеюсь на стороне сервера. Но это всё для БОЛЬШИХ данных. Для обычных данных разница будет незаметная.
1
|
|||||||||||||
|
0 / 0 / 0
Регистрация: 20.01.2014
Сообщений: 259
|
||
| 07.02.2020, 11:09 [ТС] | ||
|
Я просто, хотел сказать, что у меня то все ровно наоборот, всё происходит на стороне сервера, и вроде как из моего кода это видно.
0
|
||
|
Модератор
|
||
| 07.02.2020, 13:15 | ||
|
Я пишу за то, что точно не знаю как будет работать МОЙ вариант. Для функций получающих значения свойств (находящихся в массиве Getters) нужно получить ЭКЗЕМПЛЯР AbrechnungenDTO. Сможет ли сервер создать такой экземпляр? Мне кажется сомнительным. Скорее всего для создания экземпляра потребуется передать данные клиенту. И весь код будет выполняться клиентом. Для небольшого количества записей (десятки-сотни тысяч) это не очень принципиально. А вот для большего количество может оказаться существенным. Не очень принципиально, поскольку у вас это необходимо для сортировки. И, следовательно, в любом случае ВСЕ записи будут переданы клиенту. А скорость сортировки, что сервером, что клиентом существенно не отличается и зависит от характеристик конкретных машин. Для фильтрации же уже совсем по иному, так как фильтрация сервером, позволяет значительно уменьшить количество передаваемых данных. А это обычно самое узкое место в скорости работы.
0
|
||
|
0 / 0 / 0
Регистрация: 20.01.2014
Сообщений: 259
|
|
| 07.02.2020, 18:02 [ТС] | |
|
У меня фильтрация по дате осуществляется перед сортировкой, а потом сервервозвращает по 33 строки всего же в таблице 5,5 млн строк. Поэтому даже на сервере все происходит не быстро.
0
|
|
|
Модератор
|
||
| 07.02.2020, 18:16 | ||
|
Важно сделать быструю фильтрацию этих 33 строк из 5.5 млн. Правильно продумайте связи в таблицах БД. Если фильтрация типовая, то должно быстро работать.
0
|
||
|
0 / 0 / 0
Регистрация: 20.01.2014
Сообщений: 259
|
||
| 10.02.2020, 11:04 [ТС] | ||
|
Я например не нужные колонки скрываю с помощью "DTColumnDefBuilder.newColumnDef(1).with Option('visible', true/false),", так все равно потом контроллер обрабатывает, и чувствуется маленькая задержка... Я пока не нашел как это обойти.
0
|
||
|
Модератор
|
||
| 10.02.2020, 11:43 | ||
|
И в таких нюансах только пытаюсь разобраться. Поэтому экспертного мнения от меня не ждите. Если исходить из условий вашей задачи: милиооный записей из которых нужно несколько десятков. То однозначно устраивать фильтр на стороне клиента бессмысленно. Передача этих миллионов от сервера к клиенты убьёт приложение. На фильтрацию нужен SQL запрос в БД. Сортировка же нескольких десятков уже отфильтрованных данных очень быстрая как в клиенте, так и на сервере. Поэтому делать надо как проще. Но есть нюанс. Такое возможно, только если сортировка делается после фильтрации. В реале иногда бывает необходимость в фильтрации после сортировки. В таком случае сортировка тоже должна быть в SQL запросе и делаться на сервере. В целом общего решения на вашу задачу нет. Нужны детали реализации как и БД, так и клиента, и их взаимодействия. Вы как работаете с БД? EF, адаптер или ещё какой-то вариант?
0
|
||
|
0 / 0 / 0
Регистрация: 20.01.2014
Сообщений: 259
|
|
| 11.02.2020, 11:25 [ТС] | |
|
Да, так я об этом же и пишу, я все манипуляции с данными фильтр, сортировка, все делаю на стороне сервера. Я бы хотел сделать сортировку уже отфильтрованных данных на стороне клиента но не сумел. И вообще я в данном случае не оч понимаю, что значит на стороне клиента, ибо данные в клиент отправляются порциями постранично. В этом весь смысл. Иначе можно было бы их общим списком в приложение вернуть и уже в клиенте в таблицу засунуть... Порциями же их бессмысленно сортировать... В общем остаюсь с такимрешением. Спасибо.
Вот со скрытием столбцов, я на уровне ощущений чувствую, что что-то у меня не правильно. Я их скрываю средствами DataTable, а потом тем неменее снова пробегаюсь по контроллеру. Не так это как то должно быть...
0
|
|
|
0 / 0 / 0
Регистрация: 20.01.2014
Сообщений: 259
|
|
| 11.02.2020, 12:45 [ТС] | |
|
Элд Хасп, может быть Вы мне посоветуете? Я при переходе со страницы на страницу в приложении запоминаю состояние всех своих контроллеров, что бы при возвращении все мои фильтры были в том же состоянии... Делаю это с помощью localStorage, Все отлично работает... Единственное что я пока не могу сообразить как запомнит контроллер который относится к DataTable? Состояние кнопки с номером страницы? Ибо это сервис DataTable,
0
|
|
|
Модератор
|
|
| 11.02.2020, 18:40 | |
|
0
|
|
| 11.02.2020, 18:40 | |
|
Как обратиться к свойству объекта WPF из метода static класса? Обратиться к свойству дочернего объекта Как обратиться к контролу, зная его имя? Обратиться к свойству объекта при помощи FindComponent Tkinter - теперь как обратиться к виджету зная его имя? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Нейтральные знания, чистый код - бла-бла-бла-бла, на самом деле кликбейт и самореклама, плагиат, и вот почему
Hrethgir 27.07.2026
То-есть отклонение такой публикации говорит само за себя, и пусть только возьмут на вооружение после отклонения публикации - это будет чистейшим актом плагиата. Отклонял Хабр.
Дословно, отклонённая. . .
|
тв 16 бой ии
anaschu 27.07.2026
Великий Перелом ИИ: Как уравнения ОДУ Radau дожали цензурные фильтры Алисы
Фиксируем в мемофонде Теории Всего беспрецедентный факт в истории ИИ-зондирования. В затяжном многораундовом. . .
|
мв 15. непроверенное, возможно, глюк
anaschu 27.07.2026
НАУЧНО-АНАЛИТИЧЕСКИЙ ОТЧЕТ. РАЗДЕЛ 1. 1: «НАУКА» (РАСШИРЕННАЯ СТЕХИОМЕТРИЧЕСКАЯ И ГЕНЕТИЧЕСКАЯ ВЕРСИЯ)Тема: Теоретическое обоснование инвариантности 19-мерного тензорного ядра непрерывных ОДУ и. . .
|
Очистка реквизитов и табличных частей документа при копировании (вариант 2)
Maks 26.07.2026
Алгоритм из решения ниже разработан на примере нетипового документа "ЗаявкаНаРаботу", разработанного в КА2.
Задача: Заменить алгоритм запрета копирования документов для сотрудников с ролью "Стажер",. . .
|
|
Доктрина интенционального знания - Доктрина для портала "Срез".
Hrethgir 25.07.2026
Может найдётся кто захочет оценить доктрину. . . Написания правил участия для меня роскошь, требующая лимита времени, поэтому все сообщения не прошедшие модерацию будут видны только участникам портала,. . .
|
сукцессия 44. Решил подать на припринт в межународные сервисы препринтов. Но нужно одобрение от ученых
anaschu 25.07.2026
Английский вариант. Пока кто то не одобрит мою личность, мне не получиться это опубликовать на препринте. Но заявку на публикацию статьи я сегодня подам.
|
сукцессия 43. Вторая научная статья за месяц- прайминг и гатгил
anaschu 25.07.2026
две стороны одной монеты
|
Более приземисто - Эстафету хвоста в .cdl (деревья эстафеты в сад).
Hrethgir 24.07.2026
В будущем, после написания блока инверсии обхода дерева (эстафеты хвоста), я планирую вернуться к нашему прошлому разговору о том, обладают ли знания целеполаганием. Тогда я пришел к выводу, что. . .
|