Информация об изменениях

Сообщение Re[10]: Свежак из Телеги от 02.06.2025 1:07

Изменено 02.06.2025 2:37 Философ

Re[10]: Свежак из Телеги
Здравствуйте, Артём, Вы писали:

Ф>> определить видим он или нет

Аё>Для этого нужно либо прибить высоту элемента гвоздями, либо- в случае если высота не прибита и отличается в зависимости от содержимого, тебя ждёт интересное путешествие по граблям и алгоритмам.

Для неприбитой высоты гвоздями эта задача не реализуема: чтобы определить видимость элемента по позиции скролла, тебе нужно посчитать размер контрола (самого грида). В случае, когда высота элемента константна, это возможно, но в случае если нет, то список уже должен быть не виртуальным — чтобы определить видимость, тебе нужна позиция скролла, размер грида, размер "окна" и размер каждого элемента.

Ф>>Поверь мне на слово, сделать кастомную релизацию IList над таблицей в БД,

Аё>Хз, я не считаю это чем-то полезным или умным.

Просто ты не сталкивался с такими задачами. Чтобы осознать нужность такого механизма, тебе нужно попробовать придумать (спроектировать) GUI, который бы мог одинаково хорошо отображать и 20, и 200, и и 100 миллионов элементов — самома область такая: отображение истории операций в хронологическом порядке. Примерно представить зачем это нужно, ты можешь, открыв виндовый Event Viewer. Но они там решили эту задачу на троечку.
  Event Viewer

  у Sysinternals вышло немножко лучше


Раз ты считаешь, что это не нужно, то выкати свой рецепт: как бы ты отобразил историю операций?
Re[10]: Свежак из Телеги
Здравствуйте, Артём, Вы писали:

Ф>> определить видим он или нет

Аё>Для этого нужно либо прибить высоту элемента гвоздями, либо- в случае если высота не прибита и отличается в зависимости от содержимого, тебя ждёт интересное путешествие по граблям и алгоритмам.

Для неприбитой высоты гвоздями эта задача не реализуема: чтобы определить видимость элемента по позиции скролла, тебе нужно посчитать размер контрола (самого грида). В случае, когда высота элемента константна, это возможно, но в случае если нет, то список уже должен быть не виртуальным — чтобы определить видимость, тебе нужна позиция скролла, размер грида, размер "окна" и размер каждого элемента.

Ф>>Поверь мне на слово, сделать кастомную релизацию IList над таблицей в БД,

Аё>Хз, я не считаю это чем-то полезным или умным.

Просто ты не сталкивался с такими задачами. Чтобы осознать нужность такого механизма, тебе нужно попробовать придумать (спроектировать) GUI (с нормальным UX), который бы мог одинаково хорошо отображать и 20, и 200, и и 100 миллионов элементов — самома область такая: отображение истории операций в хронологическом порядке. Примерно представить зачем это нужно, ты можешь, открыв виндовый Event Viewer. Но они там решили эту задачу на троечку.
  Event Viewer

  у Sysinternals вышло немножко лучше


Раз ты считаешь, что это не нужно, то выкати свой рецепт: как бы ты отобразил (показал пользователю) историю операций? Напиши User Story — интересно.