{"action":"closed","issue":{"url":"https://api.github.com/repos/myd7349/Ongoing-Study/issues/10","labels_url":"https://api.github.com/repos/myd7349/Ongoing-Study/issues/10/labels{/name}","comments_url":"https://api.github.com/repos/myd7349/Ongoing-Study/issues/10/comments","events_url":"https://api.github.com/repos/myd7349/Ongoing-Study/issues/10/events","html_url":"https://github.com/myd7349/Ongoing-Study/issues/10","id":99343720,"number":10,"title":"How does virtual list control work?","user":{"login":"myd7349","id":5435649,"avatar_url":"https://avatars.githubusercontent.com/u/5435649?v=3","gravatar_id":"","url":"https://api.github.com/users/myd7349","html_url":"https://github.com/myd7349","followers_url":"https://api.github.com/users/myd7349/followers","following_url":"https://api.github.com/users/myd7349/following{/other_user}","gists_url":"https://api.github.com/users/myd7349/gists{/gist_id}","starred_url":"https://api.github.com/users/myd7349/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/myd7349/subscriptions","organizations_url":"https://api.github.com/users/myd7349/orgs","repos_url":"https://api.github.com/users/myd7349/repos","events_url":"https://api.github.com/users/myd7349/events{/privacy}","received_events_url":"https://api.github.com/users/myd7349/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/myd7349/Ongoing-Study/labels/C++","name":"C++","color":"009800"},{"url":"https://api.github.com/repos/myd7349/Ongoing-Study/labels/Database","name":"Database","color":"bfdadc"},{"url":"https://api.github.com/repos/myd7349/Ongoing-Study/labels/GUI","name":"GUI","color":"006b75"}],"state":"closed","locked":false,"assignee":null,"milestone":null,"comments":0,"created_at":"2015-08-06T03:07:40Z","updated_at":"2015-08-06T03:43:15Z","closed_at":"2015-08-06T03:43:15Z","body":"*2015-08-05T14:47+08:00*\r\nWhen designing some kind of MIS(Management Information System) for our customer, the developers, ourselves, may encounter databases that contains a large number of records. And how to present these records to our customer efficiently with a `list view`/`list control`/`table widget` or anything similar becomes a challenge.\r\n\r\nIn practice, we may use one of these two techniques:\r\n1. Show the records page by page, and each page only contains certain number of records.  \r\n2. Use a virtual list control.\r\n\r\nThis issue aims to explain the second method.\r\n\r\n**References:**\r\n* MFC:\r\n    1. [MSDN/Virtual List Controls](https://msdn.microsoft.com/en-us/library/ye4z8x58.aspx)\r\n    2. [Virtual Lists for Win32](http://www.drdobbs.com/windows/virtual-lists-for-win32/184404349)\r\n    3. [Virtualizing List Views to Handle Large Amounts of Data](http://www.codeguru.com/cpp/controls/listview/data/article.php/c4197/Virtualizing-List-Views-to-Handle-Large-Amounts-of-Data.htm)\r\n    4. [MSDN/About List-View Controls](https://msdn.microsoft.com/en-us/library/bb774735%28v=VS.85%29.aspx#Virtual_ListView_Style)\r\n    5. [**`VS2010Samples/C++/MFC/general/DBVList`**](https://msdn.microsoft.com/en-us/library/aa242173%28v=vs.60%29.aspx)\r\n    This is a pretty good example shows how to implement a virtual list control in MFC.\r\n\r\n"}}