Загрузка выпадающих списков - PullRequest
0 голосов
/ 15 августа 2011

Каков наилучший способ загрузки раскрывающихся списков из справочных / справочных таблиц для настольного приложения?

приложение разбито на 3 уровня.Я построил свои сущности.

интерфейс имеет форму с 6 вкладками.и одно большое сохранение (другое обсуждение:)

Должен ли я загрузить их все, когда форма изначально загружена?Есть ли какие-нибудь механизмы кэширования, которые я мог бы использовать?

это приложение vb.net на сетевом диске, к которому имеют доступ несколько пользователей.

Стоит также отметить, что некоторые справочные таблицы могут быть обновлены.Через другую форму.

спасибо T

Ответы [ 2 ]

0 голосов
/ 15 августа 2011

Множество факторов. Один, который вам нужно заполнить в конструкторе, чтобы данные были для заполнения визуальных элементов. Помните, что вкладка не видна, но это не значит, что она не загружается при запуске приложения.

Для статического списка строк

    public class Library : INotifyPropertyChanged
    {
        private List<string>  dropDown1;

        public List<string> DropDown1 { get { return dropDown1; } } 

        public Library()
        {
            // use data reader to populate dropDown1
        }
    }

Я знаю, что это получит комментарии, которые могут использовать что-то более легкое, чем List, но List имеет много приятных функций, простой синтаксис и простоту заполнения. В качестве следующего шага вы можете структурировать как клиентский сервер и использовать некоторую статичность, чтобы список заполнялся один раз, а затем использовался всеми. Если у вас есть больше свойств, тогда замените строку классом. Для динамического списка, тогда вы получите текущие данные из таблицы по запросу. В вашем распоряжении вы можете удерживать последний список, и если следующий запрос находится в течение X секунд, тогда вернуть устаревшие данные. Это зависит от того, приемлемы ли устаревшие данные.

Есть много других подходов, и я не претендую на то, что это лучший. Просто приведу сравнительно простой пример для начала.

Когда дело доходит до иерархии, все становится немного сложнее. Там вы можете использовать таблицу ADO.NET для хранения статически зависимых данных, а затем применить фильтр к представлению.

0 голосов
/ 15 августа 2011

Если это веб-страница, вам не нужно загружать все вкладки при загрузке страницы.Настольный компьютер, я думаю, это будет проще и должно быть так.

Только когда пользователь нажимает на вкладку, показывает страницу и скрывает все страницы, связанные с другими вкладками.

Я надеюсь,все значения страниц вкладок будут в сеансе, так что пользователь сможет вернуться и вернуться к любой вкладке и вашему большому сохранению.

Что-то полезное, связанное с вашим вопросом, которое я нашел здесь

http://www.syncfusion.com/FAQ/windowsforms/faq_c93c.aspx

и еще один

...