Форум программистов, компьютерный форум, киберфорум
Наши страницы
C# Windows Forms
Войти
Регистрация
Восстановить пароль
 
Kot_leopold
0 / 0 / 2
Регистрация: 22.06.2015
Сообщений: 27
#1

Копирование датагрида в массив - C#

16.10.2015, 09:10. Просмотров 395. Ответов 9
Метки нет (Все метки)

Помогите пожалуйста, как скопировать датагрид заполняемый динамически в массив?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.10.2015, 09:10
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Копирование датагрида в массив (C#):

Как программно вызвать CellContentClick датагрида для нужной ячейки
В общем как в цикле правильно вызвать CellContentClick? Например, если цикл...

При наведении мыши на определенную ячейку датагрида показать тултип с комментарием
Как сделать чтобы при наведении мыши на определенную ячейку датагрида всплывал...

Проблема копирования из датагрида в датагрид
проблема следующая: когда в экселе копируешь некую область ячеек и вставляешь...

Копирование столбца из DataGridView. Копирование ячейки из ДатаГридВью
Доброго времени суток! Что то читал читал форумы и гугл - а так и не нашел для...

Копирование из одного массива в другой массив одного объекта
Пытаюсь скопировать дного массива в другой массив один объект, но не выходит....

Сумма датагрида
Привет ребята нужна помощь! У меня есть дата грид а там заложены данные и есть...

9
Даценд
Модератор
Эксперт .NET
4045 / 3885 / 2573
Регистрация: 20.04.2015
Сообщений: 7,060
16.10.2015, 11:12 #2
Цитата Сообщение от Kot_leopold Посмотреть сообщение
как скопировать датагрид заполняемый динамически в массив?
Можно подробней, как заполняется грид?
0
Kot_leopold
0 / 0 / 2
Регистрация: 22.06.2015
Сообщений: 27
16.10.2015, 12:00  [ТС] #3
он заполняется динамически. Это система голосования. Так когда карточка вставляется в микрофон, тогда появляется запись в гриде.
0
Даценд
Модератор
Эксперт .NET
4045 / 3885 / 2573
Регистрация: 20.04.2015
Сообщений: 7,060
16.10.2015, 12:06 #4
Kot_leopold,
Ну так пусть лучше массив или какая-либо другая коллекция динамически заполняется, а затем выводится в грид.
0
Kot_leopold
0 / 0 / 2
Регистрация: 22.06.2015
Сообщений: 27
16.10.2015, 12:15  [ТС] #5
Дело в том, что я новичок еще и до конца не разобрался что там именно заполняется и как это переделать чтобы вся прога не полетела))
0
Даценд
Модератор
Эксперт .NET
4045 / 3885 / 2573
Регистрация: 20.04.2015
Сообщений: 7,060
16.10.2015, 12:33 #6
Ну тогда хотя бы фрагмент грида с данными покажите.
0
Kot_leopold
0 / 0 / 2
Регистрация: 22.06.2015
Сообщений: 27
16.10.2015, 13:32  [ТС] #7
Вот этот фрагмент)
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
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
public delegate void UpdateAttendanceRegistrationData(SMDParticipantData participantInfo);
 
        public void LoadAttendanceRegistratioData(SMDParticipantData participantinfo)
        {
            if (this.InvokeRequired)
            {
                UpdateAttendanceRegistrationData obj = new UpdateAttendanceRegistrationData(LoadAttendanceRegistratioData);
                this.Invoke(obj, participantinfo);
            }
            else
            {
                if (participantinfo != null)
                {
 
                    DataTable participantInformation = new DataTable();
 
                    //this.headerControl.lblDate.Text = DateTime.Now.ToShortDateString().ToString(CultureInfo.InvariantCulture);
                    this.headerControl.lblTime.Text = DateTime.Now.ToShortTimeString().ToString(CultureInfo.InvariantCulture);
                    participantInformation = participantinfo.ParticipantApptendanceDetails.Copy();
                  //  this.headerControl.lblSubject.Text = Properties.Resources.AttendanceRegistrationTxtSubject;
                    this.headerControl.lblTimeLimit.Visible = false;
 
                    this.lblPresent.Text = /*Properties.Resources.AttendanceRegistrationTxtPresent*/ "Зарегестрировано:" + " " + participantinfo.ParticipantApptendanceDetails.Select("Attendance_Status = 'true'").Length.ToString();
                    //this.lblAbsent.Text = /*Properties.Resources.AttendanceRegistrationTxtAbsent*/"Зарегестриовано:" + " " + participantinfo.ParticipantApptendanceDetails.Select("Attendance_Status = 'false'").Length.ToString() + participantinfo.ParticipantApptendanceDetails.Select("Attendance_Status = 'true'").Length.ToString();
                    double kv_pres = Convert.ToDouble(participantinfo.ParticipantApptendanceDetails.Select("Attendance_Status = 'true'").Length.ToString());
                    double kv_abs = Convert.ToDouble(participantinfo.ParticipantApptendanceDetails.Select("Attendance_Status = 'false'").Length.ToString());
                    this.lblAbsent.Text = "Присутствуют:" + " " + Convert.ToString(kv_pres + kv_abs);
                    double kvorum = 0;
                    kvorum = (((kv_pres + kv_abs) * 60) / 100);
                    if ((kv_abs+kv_pres)<3)
                    {
                       // label1.Text = ("Не достаточно людей для кворума");
                        label1.Visible = false;
                    }
                    else
                    {
                        if ((kv_pres > kvorum))
                        {
                            label1.Visible = true;
                            label1.Text = ("Кворум имеется");
                            label1.ForeColor = Color.Green;
                        }
                        else
                        {
                            label1.Visible = true;
                            label1.Text = ("Кворум не имеется");
                            label1.ForeColor = Color.Red;
 
                        }
                    }
 
                    this.dgvAttendanceRegistration.DataSource = participantInformation;
                    while (dgvAttendanceRegistration.Rows.Count > 10)
                    {
                        dgvAttendanceRegistration.Rows.RemoveAt(10);
                    }
 
                    foreach (DataGridViewRow dgvRow in dgvAttendanceRegistration.Rows)
                    {
                        if (dgvRow.Cells["Attendance_Status"].Value.ToString() == "true")
                        {
                            dgvRow.DefaultCellStyle.ForeColor = Color.Green;
                        }
                        else if (dgvRow.Cells["Attendance_Status"].Value.ToString() == "false")
                        {
                            dgvRow.DefaultCellStyle.ForeColor = Color.Red;
                        }
                    }
                    if (this.dgvAttendanceRegistration.ColumnCount > 0)
                    {
                        if (this.dgvAttendanceRegistration.Columns.Contains("Participant_Id"))
                        {
                            this.dgvAttendanceRegistration.Columns["Participant_Id"].Visible = false;
                        }
                        if (this.dgvAttendanceRegistration.Columns.Contains("Attendance_Status"))
                        {
                            this.dgvAttendanceRegistration.Columns["Attendance_Status"].Visible = false;
                        }
                    }
                    this.dgvAttendanceRegistration.Refresh();
                }
            }
        }
0
Kot_leopold
0 / 0 / 2
Регистрация: 22.06.2015
Сообщений: 27
16.10.2015, 13:52  [ТС] #8
Копирование датагрида в массив
0
Даценд
Модератор
Эксперт .NET
4045 / 3885 / 2573
Регистрация: 20.04.2015
Сообщений: 7,060
16.10.2015, 13:59 #9
Строки:
C#
1
DataTable participantInformation = new DataTable();
C#
1
participantInformation = participantinfo.ParticipantApptendanceDetails.Copy();
C#
1
this.dgvAttendanceRegistration.DataSource = participantInformation;
дают информацию, о том как добавляются данные в грид.
Можно попытаться разложить на строки DataTable participantInformation.
C#
1
DataRow[] rows = participantInformation.Select();
0
Kot_leopold
0 / 0 / 2
Регистрация: 22.06.2015
Сообщений: 27
16.10.2015, 14:09  [ТС] #10
Можешь пожалуйста провести пример) Просто моя задача вообще сравнить 2 грида и если там id не сходятся то добавить запись на другую форму)
я проще сам файл cs скину)AttendanceRegistrationForm.rar
0
16.10.2015, 14:09
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.10.2015, 14:09
Привет! Вот еще темы с решениями:

Заполнить лист из датагрида
Пытаюсь заполнить List из DataGridView (в нем лежит список яблок). Класс...

Соотнести размер Датагрида и Формы
Надо добиться следующего: если в Датагриде много колонок и колонки широкие, то...

Выравнивание только заголовка в колонке датагрида
Собственно сабж. Как выранивать только заголовок, не трогая выравнивание всей...

Как вытащить определенную ячейку из датагрида
Второй день мучаюсь не могу понять как эту выбранную ячейку вытащить. Есть...


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

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

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