Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
0 / 0 / 0
Регистрация: 10.01.2019
Сообщений: 6
1

DataGridView сохранять данные одного столбца

21.02.2020, 18:08. Показов 833. Ответов 11
Метки c# (Все метки)

Author24 — интернет-сервис помощи студентам
Добрый день, подскажите как сохранять и загружать определенный столбец таблицы 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
  private void button1_Click(object sender, EventArgs e)
        {
            string file = "e:\\mygrid.bin";
            using (BinaryWriter bw = new BinaryWriter(File.Open(file, FileMode.Create)))
            {
                bw.Write(dataGridView1.Columns.Count);
                bw.Write(dataGridView1.Rows.Count);
                foreach (DataGridViewRow dgvR in dataGridView1.Rows)
                {
                    for (int j = 0; j < dataGridView1.Columns.Count; ++j)
                    {
                        object val = dgvR.Cells[j].Value;
                        if (val == null)
                        {
                            bw.Write(false);
                            bw.Write(false);
                        }
                        else
                        {
                            bw.Write(true);
                            bw.Write(val.ToString());
                        }
                    }
                }
            }
        }
 
        private void button3_Click(object sender, EventArgs e)
        {
            dataGridView1.Rows.Clear();
            string file = "e:\\mygrid.bin";
            using (BinaryReader bw = new BinaryReader(File.Open(file, FileMode.Open)))
            {
                int n = bw.ReadInt32();
                int m = bw.ReadInt32();
                for (int i = 0; i < m; ++i)
                {
                    dataGridView1.Rows.Add();
                    for (int j = 0; j < n; ++j)
                    {
                        if (bw.ReadBoolean())
                        {
                            dataGridView1.Rows[i].Cells[j].Value = bw.ReadString();
                           
                        }
                        else bw.ReadBoolean();
                    }
                }
            }
        }
Добавлено через 2 минуты
Да и еще вопрос, такие как вставить в выделенную ячейку из буфера обмена Ctrl+V?

Спасибо
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
21.02.2020, 18:08
Ответы с готовыми решениями:

Как вводить данные в ячейки с клавиатуры в DataGridView и сохранять их в БД?
Добрый день! Подскажите как вводить данные в ячейки с клавиатуры в datagridview и сохранять их в...

Коллекция значений одного столбца в datagridview
Здравствуйте, нужно в цикле foreach перебрать все значения одного столбца в datagridview. foreach...

Как изменить ширину одного столбца dataGridView?
Вот так: dataGridView1.RowHeadersWidth = 150; Меняет ширину 0-вого столбца. там где стрелка...

Передача значения определенного столбца из одного datagridview в другой
Добрый день. Есть определенная проблема. Есть datagridview, необходимо, чтобы данные из всех строк...

11
548 / 479 / 315
Регистрация: 24.09.2013
Сообщений: 3,345
Записей в блоге: 1
22.02.2020, 12:22 2
Straj, А для чего Вы показали свой код?
0
0 / 0 / 0
Регистрация: 10.01.2019
Сообщений: 6
22.02.2020, 14:08  [ТС] 3
Наверное для того что бы легче было понимать, как можно мне помочь или подсказать.....
Проблему решил следующим образом...
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
 private void button1_Click(object sender, EventArgs e)
        {
            if (Directory.Exists("C:\\topzak") == false)
                Directory.CreateDirectory("C:\\topzak");
 
            string filePath = "C:\\topzak\\file.bin";
            if (String.IsNullOrEmpty(filePath) == true)
                return;
 
            using (BinaryWriter bw = new BinaryWriter(File.Open(filePath, FileMode.OpenOrCreate)))
            {
                bw.Write(dataGridView1.Columns.Count);
                bw.Write(dataGridView1.Rows.Count);
                for (int i = 0; i < dataGridView1.Rows.Count - 1; i++)
                {
                    var dgvR = dataGridView1.Rows[i];
                    bw.Write(Convert.ToInt16(dgvR.Cells[1].Value));
                }
            }
        }
 
        private void button3_Click(object sender, EventArgs e)
        {
            if (Directory.Exists("C:\\topzak") == false)
                Directory.CreateDirectory("C:\\topzak");
 
            string filePath = "C:\\topzak\\file.bin";
            if (String.IsNullOrEmpty(filePath) == true)
                return;
            dataGridView1.Rows.Clear();
 
            using (BinaryReader bw = new BinaryReader(File.Open(filePath, FileMode.Open)))
            {
                int n = bw.ReadInt32();
                int m = bw.ReadInt32();
                for (int i = 0; i < m; ++i)
                {
                  dataGridView1.Rows.Add();
                  dataGridView1.Rows[i].Cells[1].Value = bw.ReadInt16();
                }
 
            }
        }
0
548 / 479 / 315
Регистрация: 24.09.2013
Сообщений: 3,345
Записей в блоге: 1
22.02.2020, 15:49 4
Straj, Вы пишете, что сохраняете так....
Но как можно что-то сохранять, если не указаны размеры ColumnCount, RowCount ?,
кроме того, даже эти записи Columns.Count, Rows.Count - неправильны
0
0 / 0 / 0
Регистрация: 10.01.2019
Сообщений: 6
22.02.2020, 16:00  [ТС] 5
Я не знаю что там у вас не правильное.... Главное что у меня это решение работает и вопрос решился, а данное решение может кому и понадобиться.
0
548 / 479 / 315
Регистрация: 24.09.2013
Сообщений: 3,345
Записей в блоге: 1
22.02.2020, 17:32 6
Straj, Расскажите эти басни. Сначала включите компилятор и он сразу забракует Ваш работющий код
0
0 / 0 / 0
Регистрация: 10.01.2019
Сообщений: 6
23.02.2020, 08:43  [ТС] 7
zna926 А как ты думаешь мне делать нечего выложить не рабочий код и назвать его решением! И от куда такая уверенность в том что это решение не рабочее!?? Я как раз и благодаря компилятору и как бы понял что это решение работает))) для особо одаренных, можешь сам проверить рабочее решение или нет! А на глаз не надо ту тырсу трусить!
0
Фрилансер
761 / 458 / 146
Регистрация: 06.01.2017
Сообщений: 4,856
23.02.2020, 11:51 8
Цитата Сообщение от zna926 Посмотреть сообщение
кроме того, даже эти записи Columns.Count, Rows.Count - неправильны
все там правильно

https://docs.microsoft.com/en-... mework-4.8
1
548 / 479 / 315
Регистрация: 24.09.2013
Сообщений: 3,345
Записей в блоге: 1
23.02.2020, 18:57 9
Straj, Чтобы Ты понял сразу: Посмотри на свой уровень. Не написал ни одного кода и думаешь кому-то понадобится
Включи свой компьютер и проверь код. Тогда поговорим. Когда-то я написал программу сохранения всех данных датагрида1.
Потом запустил обратную программу и сохраненные данные передал на датагрид2. Все совпало.
Сделай такую же проверку и посмотри, как это работает......

Добавлено через 6 минут
FateOri, Код не проверяли, но выносите свое заключение. Кстати Ваша ссылка никакого отношения не имеет
0
0 / 0 / 0
Регистрация: 10.01.2019
Сообщений: 6
24.02.2020, 01:04  [ТС] 10
zna926, Простите пожалуйста, я не до оценил ваши телепатические способности)))))) Я не знаю от куда у такая уверенность что я что то не написал и у меня что то не работает....))) А давайте от слов к делу! Раз вы утверждаете что это решение не рабочее и вам позволяет это ваш опыт, то ждём от вас решение этого проекта, посмотрим на сколько вы хороши собой! Спасибо можно архив или сам код. Спасибо жду с не терпением....
0
548 / 479 / 315
Регистрация: 24.09.2013
Сообщений: 3,345
Записей в блоге: 1
24.02.2020, 11:48 11
Straj, Кнопка1, строчки 6 и 7. Мне достаточно было их увидеть, чтобы понять, что код работать не будет.
Там не указано главное, а сколько строк и столбцов в датагриде. Поэтому постарайся больше не острить и не морочить голову
0
0 / 0 / 0
Регистрация: 10.01.2019
Сообщений: 6
24.02.2020, 14:50  [ТС] 12
zna926, Ха-ха-ха-ха а если посмотреть условие булевом значении не судьба? И где же выше решение? Что только на безпонтовые утверждение хватает ума? Я так и думал)))

Добавлено через 3 минуты
zna926, Так для общего развития, создайте Windows form и вставьте код и убедитесь как работает или нет, надеюсь знаете как пользоваться Ctrl+C Ctrl+V.....
0
24.02.2020, 14:50
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
24.02.2020, 14:50
Помогаю со студенческими работами здесь

Среднее арифметическое последних 7-ми строк одного столбца DataGridView
Доброго времени суток, уважаемые знатоки ! :) Я новичок в программировании и при написании...

Как скопировать данные из одного dataGridView в другой?
У меня есть 2 DataGridView объекта. Один заполнен, другой - нет. Мне нужно как-то скопировать...

Как перенести данные из одного DataGridView в другой
как перенести данные из datagridview1 в datagridview2 datagridview2 находится в другом окне

Скопировать данные с одного столбца datagridview в другой
Всем доброго дня! есть 4 столбца datagridview. Как можно скопировать данные с 3 и 4 столбца и...


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

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru