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

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

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

Студворк — интернет-сервис помощи студентам
Добрый день, подскажите как сохранять и загружать определенный столбец таблицы 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
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
21.02.2020, 18:08
Ответы с готовыми решениями:

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

Коллекция значений одного столбца в datagridview
Здравствуйте, нужно в цикле foreach перебрать все значения одного столбца в datagridview. foreach (string str in /*Что здесь писать?*/) ...

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

11
549 / 480 / 315
Регистрация: 24.09.2013
Сообщений: 3,345
Записей в блоге: 1
22.02.2020, 12:22
Straj, А для чего Вы показали свой код?
0
0 / 0 / 0
Регистрация: 10.01.2019
Сообщений: 6
22.02.2020, 14:08  [ТС]
Наверное для того что бы легче было понимать, как можно мне помочь или подсказать.....
Проблему решил следующим образом...
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
549 / 480 / 315
Регистрация: 24.09.2013
Сообщений: 3,345
Записей в блоге: 1
22.02.2020, 15:49
Straj, Вы пишете, что сохраняете так....
Но как можно что-то сохранять, если не указаны размеры ColumnCount, RowCount ?,
кроме того, даже эти записи Columns.Count, Rows.Count - неправильны
0
0 / 0 / 0
Регистрация: 10.01.2019
Сообщений: 6
22.02.2020, 16:00  [ТС]
Я не знаю что там у вас не правильное.... Главное что у меня это решение работает и вопрос решился, а данное решение может кому и понадобиться.
0
549 / 480 / 315
Регистрация: 24.09.2013
Сообщений: 3,345
Записей в блоге: 1
22.02.2020, 17:32
Straj, Расскажите эти басни. Сначала включите компилятор и он сразу забракует Ваш работющий код
0
0 / 0 / 0
Регистрация: 10.01.2019
Сообщений: 6
23.02.2020, 08:43  [ТС]
zna926 А как ты думаешь мне делать нечего выложить не рабочий код и назвать его решением! И от куда такая уверенность в том что это решение не рабочее!?? Я как раз и благодаря компилятору и как бы понял что это решение работает))) для особо одаренных, можешь сам проверить рабочее решение или нет! А на глаз не надо ту тырсу трусить!
0
Фрилансер
 Аватар для FateOri
761 / 458 / 146
Регистрация: 06.01.2017
Сообщений: 4,856
23.02.2020, 11:51
Цитата Сообщение от zna926 Посмотреть сообщение
кроме того, даже эти записи Columns.Count, Rows.Count - неправильны
все там правильно

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

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

Добавлено через 3 минуты
zna926, Так для общего развития, создайте Windows form и вставьте код и убедитесь как работает или нет, надеюсь знаете как пользоваться Ctrl+C Ctrl+V.....
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
24.02.2020, 14:50
Помогаю со студенческими работами здесь

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

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Новые блоги и статьи
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это дополнительная запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru