Чтение и запись структуры в DataGridView на С#.

  Рет қаралды 35,391

Форсайт

Форсайт

Күн бұрын

В этом ролике я расскажу:
- Запись структуры в DataGridView
- Чтение структуры из DataGridView
- Вывод структуры в текстовый файл

Пікірлер: 57
@Электроникавдеталях-з7д
@Электроникавдеталях-з7д 10 ай бұрын
Ну хоть один человек объяснил как создавать таблицы на элементарном уровне, не привязывая их с ходу к базе данных. СПАСИБО!!!
@алексейгладких-ъ1ж
@алексейгладких-ъ1ж 2 жыл бұрын
Как добавлять строку в excel через C#, когда происходит выгрузка из DataGridView?, у меня происходит выгрузка данных в excel, но нужно чтобы выводилась строчка с низу, под машиной за день, в ней считалось сколько рейсов было проведено за сутки, и выводилось среднее значение в 4 пунктах?
@forsytee
@forsytee 2 жыл бұрын
Абстрактное сообщение но спасибо и за него) Как строку добавлять в ексель через Шарп погуглите, остальное не понял
@Mebel_Gruppen
@Mebel_Gruppen 8 ай бұрын
Подскажите пожалуйста, как импортировать из буфера обмена в datagridview?
@forsytee
@forsytee 8 ай бұрын
спасибо за комментарий, вообще никогда на практике не работал с буфером обмена в шарпе, обычная вставка не работает?
@Mebel_Gruppen
@Mebel_Gruppen 8 ай бұрын
@@forsytee Вам спасибо, что делитесь знаниями❤️👍. к сожалению обычная вставка не работает, но нашёл код написанный иностранными программистами, чуть корректировать нужно, а так вроде работает.
@forsytee
@forsytee 5 жыл бұрын
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; using System.IO; namespace WindowsFormsApp1 { public partial class Form1 : Form { public struct User { public string name; public int age; public User(string _name, int _age) { name = _name; age = _age; } } public struct NewUser { public string name; public int age; public NewUser(string _name, int _age) { name = _name; age = _age; } } List users = new List(); List newUser = new List(); public Form1() { InitializeComponent(); } private void Form1_Load(object sender, EventArgs e) { dataGridView1.AllowUserToAddRows = false; users.Add(new User("Саша", 12)); users.Add(new User("Анна-Мария", 54)); users.Add(new User("Аркадий", 53)); users.Add(new User("Зоя", 12)); DataTable table = new DataTable(); table.Columns.Add("Имя", typeof(string)); table.Columns.Add("Возраст", typeof(int)); for (int i = 0; i < users.Count; i++) { table.Rows.Add(users[i].name, users[i].age); } dataGridView1.DataSource = table; for(int i = 0; i < dataGridView1.RowCount; i++) { newUser.Add(new NewUser(dataGridView1[0,i].Value.ToString(),Convert.ToInt32(dataGridView1[1,i].Value.ToString()))); } FileStream fs = new FileStream("input.txt", FileMode.Append, FileAccess.Write); StreamWriter sw = new StreamWriter(fs); for (int i = 0; i < newUser.Count; i++) { sw.WriteLine(newUser[i].name + " " + newUser[i].age); } // Закрытие файла sw.Close(); } private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e) { } } }
@ПавелБойко-ч9ю
@ПавелБойко-ч9ю 3 жыл бұрын
бро, если посчитаешь сколько раз ты сохранял, скину на карту сколько скажешь
@ПавелБойко-ч9ю
@ПавелБойко-ч9ю 3 жыл бұрын
и бандикам не забудь посчитать
@iscosharshenov4764
@iscosharshenov4764 Жыл бұрын
Как скопировать
@killa_drdp
@killa_drdp 6 ай бұрын
а как компилятор понимает, что DataTable относится именно к dataGridView? не особо понял. Сам вот проверил, что таблицу можно заполнять обращаясь и к типу DataTable и к типу dataGridView
@forsytee
@forsytee 6 ай бұрын
Как я помню, я прописывал в ролике строчку кода, которая связывает таблицу и грид вью. Просто грид вью тупо отображает передаваемые данные, а в таблице они конкретно хранятся и в другом куске кода к ней можно обратиться как к структуре данных. Лучше заполнить таблицу данными и ее отображать, потом можно в дальнейшем работать с таблицей, можешь выводить данные сразу в таблицу
@ВладленМарченко-у1у
@ВладленМарченко-у1у 3 жыл бұрын
Очень полезный материал щас какраз курсовую пишу Реально бесценный материал который очень долго искал
@forsytee
@forsytee 3 жыл бұрын
Спасибо за комментарий, многие говорят что рассказываю кучу лишнего и лью воду, рад что вам было полезно!
@misterjunior3751
@misterjunior3751 2 жыл бұрын
@@forsytee не могли бы выложит видео про связку данных с Mysql + конвертация в Listview ?
@ИИванов-ь6с
@ИИванов-ь6с 3 ай бұрын
Почему DataGridView начинает жутко тормозить, когда строк в таблице несколько тысяч?
@forsytee
@forsytee 3 ай бұрын
Спасибо за комментарий) Никогда много строк не выводил, максимум было 50. Почему трудно ответить, плохо разрабы сделали)
@ИИванов-ь6с
@ИИванов-ь6с 3 ай бұрын
@@forsytee ексель то запросто даже 1 млн строк выводит и не тормозит. Ну ,понятно! А есть какие-нибудь аналоги dataGridView?
@amz2mov
@amz2mov 3 жыл бұрын
"Доброо врэмэни суток" - говорят только ушлёпки.
@Богдан-й2л6к
@Богдан-й2л6к 3 жыл бұрын
привет, спасибо за видео. Скажи пожалуйста, я сделал что бы id добавлялась автоматически в строки, писал без кода, добавил в базе просто id с первичным ключом, "Спецификация индификатора" выставил "Да" начальное и шаг выставил "1" , но в приложение у меня добавляются с минусом строки -1,-2,-3 и т.д. что может быть?Гуглил не чего не нашел((
@forsytee
@forsytee 3 жыл бұрын
привет, спасибо за комментарий. Без понятия, обычный авто инкремент айдишника. Должно работать, при добавлении новой строки само на +1 айди увеличится. Еще погугли я никогда в минус айди не уходил в бд)
@fredgolm4000
@fredgolm4000 Жыл бұрын
List nums = new List() { 1, 2, 3, 4, 5 }; foreach (var i in nums) { Console.WriteLine(i); }
@NerVoiceStudio
@NerVoiceStudio 2 жыл бұрын
А как в лист записать данные из текстового файла?
@forsytee
@forsytee 2 жыл бұрын
Посмотрите соответствующий ролик на моем канале.
@NerVoiceStudio
@NerVoiceStudio 2 жыл бұрын
Не знал, что такой есть. Собственно, я уже сам разобрался, но спасибо)
@Leonidus_
@Leonidus_ Жыл бұрын
Подскажите пожалуйста, зачем в конце два вида стримов? sw и fs Ведь можно было ограничится любым из них, разве нет?
@forsytee
@forsytee Жыл бұрын
StreamWriter принимает в конструктор при создании объекта объект FileStream, может и можно без него, без обид - не помню уже, да и делал не супер вдумчиво
@sudo8709
@sudo8709 2 жыл бұрын
У меня VS2019. Всё сделал по подобию как у тебя (свои названия и количество колонок), но таблица на сером фоне так и не появилась. Что я делаю не так? dataGridView1.DataSource = table; писал.
@forsytee
@forsytee 2 жыл бұрын
Никогда не работал в 2019 студии вполне могло что-то измениться в ДГВ. Я например узнал недавно что чартс то есть графики математические есть только в дот нете 4.6, потом их убрали в шарпе. так что не знаю.
@СкворцовОлег-г8б
@СкворцовОлег-г8б 5 жыл бұрын
Круто
@justchicknugget
@justchicknugget 2 жыл бұрын
А можно как-то ширину поменять у столбца?
@forsytee
@forsytee 2 жыл бұрын
По идее да
@СлаваНеГолум
@СлаваНеГолум 5 ай бұрын
Дядя, спасибо что есть.
@forsytee
@forsytee 5 ай бұрын
Спасибо матушке, что я есть
@Werterit
@Werterit 3 жыл бұрын
Автор, у меня вопрос а как после этого добавить новый ряд?
@forsytee
@forsytee 3 жыл бұрын
дататейбл.адд роу? Попробуй погуглить, а тут задавать более серьезные вопросы
@peterlisp3399
@peterlisp3399 2 жыл бұрын
Спасибо
@forsytee
@forsytee 2 жыл бұрын
И вам спасибо
@AraikSarkisyan
@AraikSarkisyan 2 жыл бұрын
Спасибо, очень полезное видео.
@forsytee
@forsytee 2 жыл бұрын
Спасибо Вам за комментарий, удачи !
@sonyxplay
@sonyxplay 3 жыл бұрын
Автор, нужно помощь твоя, ответь пожалуйста...
@forsytee
@forsytee 3 жыл бұрын
Зритель, отвечаю
@sonyxplay
@sonyxplay 3 жыл бұрын
@@forsytee с тобой можно связаться как нибудь?Мессенджер возможно какой нибудь?Если есть время, разумеется.
@forsytee
@forsytee 3 жыл бұрын
@@sonyxplay смотря что хочешь, я сейчас на пике написания диплома, поэтому популярный в последнее время запрос на "сделай мне диплом" "сделай мне практику,курсовую" можно не задавать до июля)
@sonyxplay
@sonyxplay 3 жыл бұрын
@@forsytee блиииин, я так понял тема заезжена🤣 не то что бы диплом, проект у меня есть, у меня есть некоторые моменты, которые я не могу сконструировать в моей программе, в частности имею проект WPF C# в связке с SQL базой, тема Магазин компьютерной техники, все таблицы выводятся, редактируются и все остальное, НО Я не знаю как сделать так, что бы при нажатии на кнопку купить в DataGrid, в таблице с товаром значение количества уменьшалось на 1 (и эта строка уходила в другую таблицу(корзину)...
@sonyxplay
@sonyxplay 3 жыл бұрын
А так да, диплом горит тоже 😂 Но суть не в нем, а в проекте)
@sergey_fedorenko
@sergey_fedorenko 3 жыл бұрын
Хорошая подача. Спасибо. Скажите, можно уже непосредственно в таблице изменить значения и сохранить потом уже измененные данные. К примеру мальчик к моменту написания кода мальчик подрос на год, и нужно импортированные данные из базы данных исправить вручную и обновить собственно её саму?
@forsytee
@forsytee 3 жыл бұрын
Да конечно можно, нужно разрешить редактирование ячеек (оно и так стоит по умолчанию) просто изменяете в любой ячейке что хотите, потом например жмете на кнопку, которая при клике считывает все данные из строк таблицы и переносит их в список
@sergey_fedorenko
@sergey_fedorenko 3 жыл бұрын
@@forsytee Спасибо! Я только учу С#. Не подскажите, как можно вызывать таблицу из другой api (я работаю с геометрией) для внесения параметров, чтоб потом по обновленным параметрам изменить мою геометрию?
@sionn5026
@sionn5026 3 жыл бұрын
Большое спасибо, очень помог!!
@forsytee
@forsytee 3 жыл бұрын
спасибо вам за комментарий
@86werth
@86werth Жыл бұрын
Автор, подскажите как загрузить данные из текстового документа в datagredview?
@forsytee
@forsytee Жыл бұрын
Посмотри мой ролик как считать данные из тхт в структуру а потом данные из этой структуры помести в таблиц дата грид Вью. Два видео просто посмотри это и про тхт
@daniilivanchenko8988
@daniilivanchenko8988 3 жыл бұрын
спасибо большое за информацию)
@forsytee
@forsytee 3 жыл бұрын
спасибо вам за комментарий
Миллионер | 1 - серия
34:31
Million Show
Рет қаралды 2 МЛН
Worst flight ever
00:55
Adam W
Рет қаралды 28 МЛН
Ozoda - Lada ( Ko’k jiguli 2 )
06:07
Ozoda
Рет қаралды 15 МЛН
WPF. Binding
1:51:57
Sergey Videnin
Рет қаралды 3,8 М.
WPF Controls with MVVM: DataGrid
24:59
IAmTimCorey
Рет қаралды 173 М.
Почему «Друзья» стали культовыми
18:29
Кинопоиск
Рет қаралды 122 М.
Что такое нормализация баз данных?
24:02
Sergey Nemchinskiy
Рет қаралды 7 М.
Пробное Junior C# собеседование (мок-интервью)
1:08:41
DotNet Interview Preparation
Рет қаралды 10 М.
Миллионер | 1 - серия
34:31
Million Show
Рет қаралды 2 МЛН