Форум программистов, компьютерный форум, киберфорум
Наши страницы
C# Windows Forms
Войти
Регистрация
Восстановить пароль
 
Zhavoronkov5
49 / 45 / 23
Регистрация: 27.07.2015
Сообщений: 112
1

DataGrigView и массив внутри класса

03.08.2015, 22:12. Просмотров 189. Ответов 1
Метки нет (Все метки)

Всем доброго вечера!

Допустим, нужно написать приложение для учета детских пособий, нужна табличка наподобие Excel. Создаю класс:
C#
1
2
3
4
5
6
7
    public class Woman
    {
        public string name { get; set; }
 
        public string childName1 { get; set; }
        public string childName2 { get; set; }
    }
В этом случае код основной программы умещается в две строчки:
C#
1
2
BindingList<Woman> women = new BindingList<Woman>();
dataGridView1.DataSource = women;
И мы имеем прекрасную таблицу, с возможностью добавления, редактирования и двусторонним обменом данными. Но если детишек много, то хотелось бы иметь возможность создавать массивы и циклы. Иначе код быстро становится китайским.

Однако если переписать класс вот так:
C#
1
2
3
4
5
6
7
8
9
10
11
    public class Woman
    {
        public string name { get; set; }
 
        public string[] childName { get; set; }
 
        public Woman()
        {
            childName = new string[10];
        }
    }
То он работает, циклы организовываются, но dataGridView1 видит только поле name. А колхозить свои методы для нее не хочется.

Может, как-то можно совместить преимущества обеих методов? Чтобы массив, объявленный в классе Woman, был виден в dataGridView1?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.08.2015, 22:12
Ответы с готовыми решениями:

Текстовый файл в DataGrigView
Есть DataGridView , в которыи считывается построчно текстовый фаил(определения...

Сделать рисунок на кнопке в DataGrigView
Уважаемые гуру! Есть форма, на ней ДатаГридВью в ДатаГриде есть столбец,...

Данные из List переместить в DataGrigView
При нажатии на кнопку данные из List необходимо переместить в таблицу...

Методы внутри класса From
namespace Dialogs { public partial class Form1 : Form { ...

Доступ через get/set к элементам массива внутри класса
Вот такой простой код, а как с помощью get/set обращаться к каждому элементу...

1
Zhavoronkov5
49 / 45 / 23
Регистрация: 27.07.2015
Сообщений: 112
04.08.2015, 22:31  [ТС] 2
Никто солдату не ответил...

В течение дня почитал про указатели, которые мы активно используем в микроконтроллерах. Но в C# такой код называется небезопасным и даже по умолчанию заблокирован. Пришлось написать по-простому:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
    public class Woman
    {
        public string name { get; set; }
 
 
        public string child1Name { get; set; }
        public string child2Name { get; set; }
 
        public string[] childName { get; set; }
 
        public Woman()
        {
            childName = new string[2];
        }
 
        public void CopyVarToArray() 
        {
            childName[0] = child1Name;
            childName[1] = child2Name;
            
        }
 
        public void CopyArrayToVar() 
        {
            child1Name = childName[0];
            child2Name = childName[1];
        }
    }
Но если кто знает более изящный метод, не сочтите за труд написать.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.08.2015, 22:31

Почему нельзя присвоить переменным a, b, c, d значения тексбоксов внутри класса
Почему нельзя присвоить переменным a,b,c,d значения тексбоксов внутри класса? ...

Возможно ли преобразовать содержимое TextBox в код внутри процедуры/класса?
Добрый вечер. Вопрос следующий: возможно ли перенести текстовое значение из TB...

Массив внутри структуры
Добрый день! можно ли внутри структуры создавать массив? Я пробовал написать ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru