J'ai un scénario de grille avec> 500,000,000 lignes que je voudrais afficher dans ListView.WinForms ListView dans VirtualMode est-il limité à 100 000 000 lignes?
Si je limite artificiellement mon ListView pour afficher 100000000:
_listView.VirtualListSize = _data.Count;
if (_listView.VirtualListSize > 100000000)
_listView.VirtualListSize = 100000000;
Tout fonctionne très bien (dans VirtualMode naturellement). Quand je change mon code pour:
_listView.VirtualListSize = _data.Count;
if (_listView.VirtualListSize > 100000001)
_listView.VirtualListSize = 100000001;
ListView afficher une grille vide ... Est-ce un bug Microsoft? D'où cela vient-il? Est-ce une limitation Win32 ListView? Plus important encore, pourquoi cela n'est-il pas documenté?
Si vous affichez des enregistrements 50M à l'utilisateur, la dernière question que vous devriez vous poser est "comment puis-je afficher 100M?". GUI a besoin d'une re-conception, stat! – Juliet
Ceci est dans VirtualMode. L'utilisateur a des tonnes de méthodes pour naviguer dans les données, qui ne sont pas aussi bête que le défilement un par un. Pourquoi VirtualMode doit-il être limité à moins de 64 bits? De plus, pourquoi cela n'est-il pas commenté? Et qui décide que 100 000 000 est OK, mais que 100 000 001 ne l'est pas? – damageboy
@Juliet Regardez [Picasa] (http://picasa.google.com/). Il peut afficher quelques millions d'éléments (je n'ai que quelques millions d'images), et il est parfaitement navigable pour l'utilisateur. La réaction réflexe * plus de ** x ** éléments est trop * n'est tout simplement pas valide. –