Сообщение Re[10]: Свежак из Телеги от 02.06.2025 1:07
Изменено 02.06.2025 2:37 Философ
Re[10]: Свежак из Телеги
Здравствуйте, Артём, Вы писали:
Ф>> определить видим он или нет
Аё>Для этого нужно либо прибить высоту элемента гвоздями, либо- в случае если высота не прибита и отличается в зависимости от содержимого, тебя ждёт интересное путешествие по граблям и алгоритмам.
Для неприбитой высоты гвоздями эта задача не реализуема: чтобы определить видимость элемента по позиции скролла, тебе нужно посчитать размер контрола (самого грида). В случае, когда высота элемента константна, это возможно, но в случае если нет, то список уже должен быть не виртуальным — чтобы определить видимость, тебе нужна позиция скролла, размер грида, размер "окна" и размер каждого элемента.
Ф>>Поверь мне на слово, сделать кастомную релизацию IList над таблицей в БД,
Аё>Хз, я не считаю это чем-то полезным или умным.
Просто ты не сталкивался с такими задачами. Чтобы осознать нужность такого механизма, тебе нужно попробовать придумать (спроектировать) GUI, который бы мог одинаково хорошо отображать и 20, и 200, и и 100 миллионов элементов — самома область такая: отображение истории операций в хронологическом порядке. Примерно представить зачем это нужно, ты можешь, открыв виндовый Event Viewer. Но они там решили эту задачу на троечку.
Раз ты считаешь, что это не нужно, то выкати свой рецепт: как бы ты отобразил историю операций?
Ф>> определить видим он или нет
Аё>Для этого нужно либо прибить высоту элемента гвоздями, либо- в случае если высота не прибита и отличается в зависимости от содержимого, тебя ждёт интересное путешествие по граблям и алгоритмам.
Для неприбитой высоты гвоздями эта задача не реализуема: чтобы определить видимость элемента по позиции скролла, тебе нужно посчитать размер контрола (самого грида). В случае, когда высота элемента константна, это возможно, но в случае если нет, то список уже должен быть не виртуальным — чтобы определить видимость, тебе нужна позиция скролла, размер грида, размер "окна" и размер каждого элемента.
Ф>>Поверь мне на слово, сделать кастомную релизацию IList над таблицей в БД,
Аё>Хз, я не считаю это чем-то полезным или умным.
Просто ты не сталкивался с такими задачами. Чтобы осознать нужность такого механизма, тебе нужно попробовать придумать (спроектировать) GUI, который бы мог одинаково хорошо отображать и 20, и 200, и и 100 миллионов элементов — самома область такая: отображение истории операций в хронологическом порядке. Примерно представить зачем это нужно, ты можешь, открыв виндовый Event Viewer. Но они там решили эту задачу на троечку.
| Event Viewer | |
![]() | |
| у Sysinternals вышло немножко лучше | |
![]() | |
Раз ты считаешь, что это не нужно, то выкати свой рецепт: как бы ты отобразил историю операций?
Re[10]: Свежак из Телеги
Здравствуйте, Артём, Вы писали:
Ф>> определить видим он или нет
Аё>Для этого нужно либо прибить высоту элемента гвоздями, либо- в случае если высота не прибита и отличается в зависимости от содержимого, тебя ждёт интересное путешествие по граблям и алгоритмам.
Для неприбитой высоты гвоздями эта задача не реализуема: чтобы определить видимость элемента по позиции скролла, тебе нужно посчитать размер контрола (самого грида). В случае, когда высота элемента константна, это возможно, но в случае если нет, то список уже должен быть не виртуальным — чтобы определить видимость, тебе нужна позиция скролла, размер грида, размер "окна" и размер каждого элемента.
Ф>>Поверь мне на слово, сделать кастомную релизацию IList над таблицей в БД,
Аё>Хз, я не считаю это чем-то полезным или умным.
Просто ты не сталкивался с такими задачами. Чтобы осознать нужность такого механизма, тебе нужно попробовать придумать (спроектировать) GUI (с нормальным UX), который бы мог одинаково хорошо отображать и 20, и 200, и и 100 миллионов элементов — самома область такая: отображение истории операций в хронологическом порядке. Примерно представить зачем это нужно, ты можешь, открыв виндовый Event Viewer. Но они там решили эту задачу на троечку.
Раз ты считаешь, что это не нужно, то выкати свой рецепт: как бы ты отобразил (показал пользователю) историю операций? Напиши User Story — интересно.
Ф>> определить видим он или нет
Аё>Для этого нужно либо прибить высоту элемента гвоздями, либо- в случае если высота не прибита и отличается в зависимости от содержимого, тебя ждёт интересное путешествие по граблям и алгоритмам.
Для неприбитой высоты гвоздями эта задача не реализуема: чтобы определить видимость элемента по позиции скролла, тебе нужно посчитать размер контрола (самого грида). В случае, когда высота элемента константна, это возможно, но в случае если нет, то список уже должен быть не виртуальным — чтобы определить видимость, тебе нужна позиция скролла, размер грида, размер "окна" и размер каждого элемента.
Ф>>Поверь мне на слово, сделать кастомную релизацию IList над таблицей в БД,
Аё>Хз, я не считаю это чем-то полезным или умным.
Просто ты не сталкивался с такими задачами. Чтобы осознать нужность такого механизма, тебе нужно попробовать придумать (спроектировать) GUI (с нормальным UX), который бы мог одинаково хорошо отображать и 20, и 200, и и 100 миллионов элементов — самома область такая: отображение истории операций в хронологическом порядке. Примерно представить зачем это нужно, ты можешь, открыв виндовый Event Viewer. Но они там решили эту задачу на троечку.
| Event Viewer | |
![]() | |
| у Sysinternals вышло немножко лучше | |
![]() | |
Раз ты считаешь, что это не нужно, то выкати свой рецепт: как бы ты отобразил (показал пользователю) историю операций? Напиши User Story — интересно.

