|
0 / 0 / 0
Регистрация: 20.01.2014
Сообщений: 259
|
||||||
Как обратиться к свойству объекта зная его порядковый номер?05.02.2020, 19:37. Показов 5168. Ответов 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 - теперь как обратиться к виджету зная его имя? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#.
Название изменил на ColorStep.
Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
|
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами:
- ВидТО (СправочникСсылка. ВидыТО);
- ВидГСМ. . .
|
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала.
Ниже прикреплён. . .
|
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F
Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU.
Опрашиваются регистры. . .
|
|
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка:
Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
|
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо
Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
|
Оттачиваю умение писать js программы.
russiannick 30.08.2026
Проектом выходного дня стало написание Книги шифров Виженера. Итогом стала версия 200, синий туман.
Синий туман назван так, потому что замораживает текст под собой. Нажатие синих кнопок управляют. . .
|
мат медиц модель 30. презентация проекта
anaschu 27.08.2026
хоп хоп хоп хидахоп, а я кладую))
|