2013-04-22 2 views
0

извините, если это глупый вопрос, но я все еще изучаю No Nos для программирования.Можно ли это сделать? Храните все переменные в datagridview

Я создаю приложение, которое обрабатывает большое количество данных, хранящихся в XML-файле.

Файл файл XML отформатирован в этом формате

<Name> 
    <Property_1></Property_1> 
    <Property_2></Property_2> 
    <Property_3></Property_3> 
</Name> 

Есть около 16 объектов на имя и много имен.

В настоящее время я импортирую все эти данные из xml-файла в datagridview и скрываю столбцы, которые пользователю не нужно видеть. И я делаю все манипуляции, используя данные в datagridview.

Можно ли это сделать или было бы лучше получить только требуемые данные и делать постоянные чтения из xml-файла?

Пример: Когда пользователь делает выбор, прямо сейчас я использую для каждого цикла каждый цикл, чтобы просмотреть все строки и сделать видимыми только соответствующие строки.

Или Должно быть так, что когда пользователь делает выбор, программа ищет все критерии соответствия в XML-файле и загружает все данные в сетку.

ответ

0

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

Для чего-то другого, что выбрасывает демо, я бы создал объект «Имя» и добавил все свойства (Property_1 и т. Д.) Плюс свойство Visible, и вам понадобится коллекция (список?) Для их хранения. Тогда у вас может быть метод, который устанавливает свойство visible (или передает критерии поиска и позволяет объекту устанавливать его самостоятельно) на всех объектах, а другой, который возвращает только видимые объекты. Вы можете привязать сетку к объектам.

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

Если вы используете WPF, я настоятельно рекомендую вам ознакомиться с MVVM. удачи

+0

Большое спасибо за информацию! Это просто для домашнего использования, чтобы ускорить процесс, единственная причина, по которой я выбираю этот путь, состояла в том, что это казалось более простым и эффективным. Я чувствовал, что с постоянными чтениями из xml-файла программа будет более склонна генерировать исключения, а постоянные чтения также приводят к более низкой производительности. Это верно? Или неправильная логика? –

+0

Чтение данных из памяти в тысячи раз быстрее, чем с диска, независимо от того, имеет ли это значение или нет другой вопрос. Чем дольше вы программируете, тем лучше, что вы должны получить за то, что «легче и эффективнее» в долгосрочной перспективе. Умение, которое вы разрабатываете, борясь с дизайном, может стоить дополнительного времени. Конечно, никто не поблагодарит вас за то, что вы взяли неделю, чтобы что-то закодировать, когда должен был сделать день. – PatFromCanada

Смежные вопросы