Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > .NET для новичков > MVS 2008 - проблема |
Автор: okaton 24.10.2008, 11:27 | ||
Почему в 2008 студии не получается совершить такое действие:
в 2005 получается, как же это сделать в 2008 ![]() |
Автор: diadiavova 24.10.2008, 11:56 |
В VS2008 в свойствах проекта есть вкладка Settins все настройки выполняются там. |
Автор: okaton 24.10.2008, 12:09 |
Немного переформулирую вопрос. В установках не получается задать тип «System.Int32[]». Обратите внимание на массив. Его там конечно нет, но если в 2005 в строке выбора "вручную" задать «System.Int32[]», она его подключит. А вот в 2008 ругается и не не подключает. Что делать? |
Автор: diadiavova 24.10.2008, 12:29 |
Целочисленный массив можно преобразовать в строку, разделить числа запятыми. А студия правда ругается - наверно больше не поддерживается такая возможность. |
Автор: okaton 24.10.2008, 12:38 | ||||||||
То есть таку штуку сделать не получится? Q. Хотелось бы сохранять расположение колонок при выходе из приложения или закрытии окна и восстанавливать его при открытии. По умолчанию grid этого не делает. Можно это как-то поправить? A. Можно, причем вариантов масса. Один из: Дважды щелкаем по файлу Settings.settings в Solution Explorer и добавляем настройку с некоторым именем (в данном примере с именем «ColsOrder») в список. В колонке «Type» настройки нужно указать «System.Int32[]» (в выпадающем списке типов выбрать пункт «Browse...» и в появившемся диалоге вписать указанный тип). В колонке «Scope» указать – «User». Далее пишем две функции сохранения и восстановления порядка колонок (вместо DefNamespace нужно подставить имя пространства имен используемого по умолчанию в данном проекте):
Вызываем первую при загрузке формы:
А вторую – при закрытии:
http://www.rsdn.ru/article/dotnet/DataGridView20part2.xml |
Автор: diadiavova 24.10.2008, 14:06 |
Я бы сосредоточился на фразе Не обязательно всё хранить в массиве. А статья написана в 2006 году, под студию 2005. А для того, чтобы сохранить порядок колонок без массива точно обойтись можно. Выписать индексы колонок в сторку в нужном порядке через запятую и сохранить как строку. При извлечении разбить строку на строковый массив по запятым и преобразовать строки в числа. Получится малепусенькая процедурка. |
Автор: MasterOfCode 24.10.2008, 14:26 | ||
okaton, обрати внимание на советы diadiavova. Храни string параметр, такой строчкой воспользуйся:
|
Автор: diadiavova 24.10.2008, 14:46 | ||
В принципе можно использовать код из статьи, написать что-то в этом роде
(Если в коде есть ошибки - извиняюсь я на другом языке пишу, но думаю идея понятна) Дальше перед сохранением массива передаёмего функции IntArrayToText и сохраням уже строку. А при загрузке данных передаём преобразовываем строку в массив при помощи функции TextToIntArray, а дальше как в статье. |
Автор: okaton 24.10.2008, 16:13 |
diadiavova, MasterOfCode, спасибо за помощь! Результата я добился ![]() |