Форум программистов, компьютерный форум, киберфорум
Наши страницы
C# .NET
Войти
Регистрация
Восстановить пароль
 
DmitryBond
2 / 2 / 3
Регистрация: 08.07.2014
Сообщений: 29
#1

Написать класс, который изменяет свойства компонента DataGridView - C#

29.07.2014, 11:16. Просмотров 341. Ответов 2
Метки нет (Все метки)

У меня на форме размещено 3 пустых компонента DataGridView, хочу создать класс который позволит мне быстро изменять свойства данных компонентов - Ширину, высоту, положение на форме, а также изменять заголовки столбцов и содержимое ячеек.
Написал такой класс:
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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.ComponentModel;
using System.Windows.Forms;
using System.Drawing;
 
namespace COMPortCSharp
{
    class WriteToDataGreed
    {
 
       
        public DataGridView NewDataGridView;// 
        public string[] HeadersDataGrid;
        public int HeigthDataGrid;
        public int WidthDataGrid;
        public int LocationX;
        public int LocationY;
        public void creatDataGrid()
        {
 
            for (int i = 0; i < HeadersDataGrid.Length; i++)
            {
                NewDataGrid.Columns[i].Name = HeadersDataGrid[i];
            }
            NewDataGrid.Location = new Point(LocationX, LocationY);
            NewDataGrid.Height = HeigthDataGrid;
            NewDataGrid.Width = WidthDataGrid;
            int b = NewDataGrid.RowHeadersWidth;
            for (int i = 0; i < NewDataGrid.ColumnCount; i++)
                NewDataGrid.Columns[i].Width = (NewDataGrid.Width - b) / NewDataGrid.ColumnCount;
           
        }
 
        public WriteToDataGreed( DataGridView DataGridView, string[] Headers , int X, int Y, int H, int W)
        {
            HeadersDataGrid = Headers;
            HeigthDataGrid = H;
            WidthDataGrid = W;
            LocationX = X;
            LocationY = Y;
            NewDataGridView = DataGridView;
        }
 
 
 
    }
}
 
вызов из формы 
   string[] HedersDataGridPacket = new string[]
            {
                "TimeOut",
                "DeviceId",
                "Protocol",
                "DataId",
                "CNum",
                "Data",
                "CRC",
                "PacketByCOBS"
 
            };
 WriteToDataGreed WorkDataGrid = new WriteToDataGreed (dataGridPacketIn, HedersDataGridPacket , X,Y ,HEIGHT,WIDTH);
            WorkDataGrid.creatDataGrid();
На форме ничего не происходит, помогите решить проблему, как перерисовать компонент на форме с новыми параметрами?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.07.2014, 11:16
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Написать класс, который изменяет свойства компонента DataGridView (C#):

Создать Generic Mapper, который будет мапить схожие свойства одного объекта в свойства другого
Нужно создать generic mapper, который будет мапить схожие(similar) свойства...

Изменить свойства компонента
Хочу сделать, чтобы в comboBox список был написан разными шрифтами, как в ворде...

Как уведомить класс-родитель, что свойства вложенного класса изменились?
Всем привет. Столкнулся с интересной задачей. Имеем вложенный класс...

Некоторые свойства DataGridView
Здравствуйте. Делаю такую штуку- На форме есть несколько DataGridView. В них...

Задержка/тормоза компонента DataGridView
Есть БД (access, *.mdb) В ней 4 таблицы, иерархически связанные Вывожу одну...

Ввод данных в БД MS Access при помощи компонента DataGridView
Доброго времени суток! Подскажите, каким образом, при помощи компонента...

2
MaxValue
30 / 28 / 6
Регистрация: 16.08.2012
Сообщений: 126
29.07.2014, 11:31 #2
а refresh() вызывали?
1
DmitryBond
2 / 2 / 3
Регистрация: 08.07.2014
Сообщений: 29
29.07.2014, 12:25  [ТС] #3
Спасибо я разобрался все получилось, забыл в класс добавить, строчку выделенную красным, может кому пригодится
класс рабочий

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.ComponentModel;
using System.Windows.Forms;
using System.Drawing;
 
namespace COMPortCSharp
{
    class WriteToDataGreed
    {
 
       
        public DataGridView NewDataGridView;
        public string[] HeadersDataGrid;
        public int HeigthDataGrid;
        public int WidthDataGrid;
        public int LocationX;
        public int LocationY;
        public void creatDataGrid()
        {
C#
1
NewDataGridView.ColumnCount = HeadersDataGrid.Length;

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
            for (int i = 0; i < HeadersDataGrid.Length; i++)
            {
                NewDataGridView.Columns[i].Name = HeadersDataGrid[i];
            }
            NewDataGridView.Location = new Point(LocationX, LocationY);
            NewDataGridView.Height = HeigthDataGrid;
            NewDataGridView.Width = WidthDataGrid;
            int b = NewDataGridView.RowHeadersWidth;
            for (int i = 0; i < NewDataGridView.ColumnCount; i++)
                NewDataGridView.Columns[i].Width = (NewDataGridView.Width - b) / NewDataGridView.ColumnCount;
           
        }
       
        public WriteToDataGreed(DataGridView DataGridView, string[] Headers , int X, int Y, int H, int W)
        {
            HeadersDataGrid = Headers;
            HeigthDataGrid = H;
            WidthDataGrid = W;
            LocationX = X;
            LocationY = Y;
            //NewDataGridView = new NewDataGridView();
            NewDataGridView = DataGridView;
        }
 
 
 
    }
}
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.07.2014, 12:25
Привет! Вот еще темы с решениями:

Добавление строк в datagridview, который привязан к данным
Здравствуйте, вот проблема: есть такая штука dataGridView1.DataSource =...

Определить класс Exam, который имеет три открытых автореализуемых свойства
Не могу понять как сделать пункт 3. Помогите, пожалуйста, новичку :wall: ...

Класс: Нужно написать класс,который будет вычислять заданную функцию...
Нужно написать класс,который будет вычислять вот такую функцию y= \sqrt{1/x^n}...

Класс, полиморфизм (Написать класс, который хранит в себе некий номер ''nip'', проверит его на правильность и вывести результат)
Задача. Написать класс, который хранит в себе некий номер ''nip'', проверит...


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

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

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