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

แชร์
ฝัง
  • เผยแพร่เมื่อ 6 เม.ย. 2019
  • В этом ролике я расскажу:
    - Запись структуры в DataGridView
    - Чтение структуры из DataGridView
    - Вывод структуры в текстовый файл

ความคิดเห็น • 57

  • @user-en9sm7ed9g
    @user-en9sm7ed9g 6 หลายเดือนก่อน +5

    Ну хоть один человек объяснил как создавать таблицы на элементарном уровне, не привязывая их с ходу к базе данных. СПАСИБО!!!

  • @user-tx5yk4nk7b
    @user-tx5yk4nk7b 3 ปีที่แล้ว +16

    Очень полезный материал
    щас какраз курсовую пишу
    Реально бесценный материал который очень долго искал

    • @forsytee
      @forsytee  3 ปีที่แล้ว +4

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

    • @misterjunior3751
      @misterjunior3751 2 ปีที่แล้ว

      @@forsytee не могли бы выложит видео про связку данных с Mysql + конвертация в Listview ?

  • @AraikSarkisyan
    @AraikSarkisyan 2 ปีที่แล้ว +5

    Спасибо, очень полезное видео.

    • @forsytee
      @forsytee  2 ปีที่แล้ว

      Спасибо Вам за комментарий, удачи !

  • @user-li5xu7wf3m
    @user-li5xu7wf3m 2 หลายเดือนก่อน +1

    Дядя, спасибо что есть.

    • @forsytee
      @forsytee  2 หลายเดือนก่อน

      Спасибо матушке, что я есть

  • @user-ol4xh8dl2b
    @user-ol4xh8dl2b 4 ปีที่แล้ว +1

    Круто

  • @sionn5026
    @sionn5026 3 ปีที่แล้ว +2

    Большое спасибо, очень помог!!

    • @forsytee
      @forsytee  3 ปีที่แล้ว

      спасибо вам за комментарий

  • @daniilivanchenko8988
    @daniilivanchenko8988 3 ปีที่แล้ว +1

    спасибо большое за информацию)

    • @forsytee
      @forsytee  3 ปีที่แล้ว

      спасибо вам за комментарий

  • @fredgolm4000
    @fredgolm4000 ปีที่แล้ว +1

    List nums = new List() { 1, 2, 3, 4, 5 };
    foreach (var i in nums) {
    Console.WriteLine(i);
    }

  • @peterlisp3399
    @peterlisp3399 2 ปีที่แล้ว +1

    Спасибо

    • @forsytee
      @forsytee  2 ปีที่แล้ว

      И вам спасибо

  • @Mebel_Gruppen
    @Mebel_Gruppen 5 หลายเดือนก่อน +1

    Подскажите пожалуйста, как импортировать из буфера обмена в datagridview?

    • @forsytee
      @forsytee  5 หลายเดือนก่อน

      спасибо за комментарий, вообще никогда на практике не работал с буфером обмена в шарпе, обычная вставка не работает?

    • @Mebel_Gruppen
      @Mebel_Gruppen 5 หลายเดือนก่อน +1

      @@forsytee Вам спасибо, что делитесь знаниями❤️👍.
      к сожалению обычная вставка не работает, но нашёл код написанный иностранными программистами, чуть корректировать нужно, а так вроде работает.

  • @sergey_fedorenko
    @sergey_fedorenko 2 ปีที่แล้ว +2

    Хорошая подача. Спасибо. Скажите, можно уже непосредственно в таблице изменить значения и сохранить потом уже измененные данные. К примеру мальчик к моменту написания кода мальчик подрос на год, и нужно импортированные данные из базы данных исправить вручную и обновить собственно её саму?

    • @forsytee
      @forsytee  2 ปีที่แล้ว +1

      Да конечно можно, нужно разрешить редактирование ячеек (оно и так стоит по умолчанию) просто изменяете в любой ячейке что хотите, потом например жмете на кнопку, которая при клике считывает все данные из строк таблицы и переносит их в список

    • @sergey_fedorenko
      @sergey_fedorenko 2 ปีที่แล้ว +1

      @@forsytee Спасибо!
      Я только учу С#. Не подскажите, как можно вызывать таблицу из другой api (я работаю с геометрией) для внесения параметров, чтоб потом по обновленным параметрам изменить мою геометрию?

  • @user-br8yt5kl5b
    @user-br8yt5kl5b 3 ปีที่แล้ว +2

    привет, спасибо за видео. Скажи пожалуйста, я сделал что бы id добавлялась автоматически в строки, писал без кода, добавил в базе просто id с первичным ключом, "Спецификация индификатора" выставил "Да" начальное и шаг выставил "1" , но в приложение у меня добавляются с минусом строки -1,-2,-3 и т.д. что может быть?Гуглил не чего не нашел((

    • @forsytee
      @forsytee  3 ปีที่แล้ว

      привет, спасибо за комментарий. Без понятия, обычный авто инкремент айдишника. Должно работать, при добавлении новой строки само на +1 айди увеличится. Еще погугли я никогда в минус айди не уходил в бд)

  • @user-ge9mf1td2z
    @user-ge9mf1td2z 3 หลายเดือนก่อน +1

    а как компилятор понимает, что DataTable относится именно к dataGridView? не особо понял. Сам вот проверил, что таблицу можно заполнять обращаясь и к типу DataTable и к типу dataGridView

    • @forsytee
      @forsytee  3 หลายเดือนก่อน

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

  • @Leonidus_
    @Leonidus_ 9 หลายเดือนก่อน +1

    Подскажите пожалуйста, зачем в конце два вида стримов? sw и fs
    Ведь можно было ограничится любым из них, разве нет?

    • @forsytee
      @forsytee  9 หลายเดือนก่อน +1

      StreamWriter принимает в конструктор при создании объекта объект FileStream, может и можно без него, без обид - не помню уже, да и делал не супер вдумчиво

  • @user-ge1ho7hu5m
    @user-ge1ho7hu5m 2 ปีที่แล้ว +1

    Как добавлять строку в excel через C#, когда происходит выгрузка из DataGridView?, у меня происходит выгрузка данных в excel, но нужно чтобы выводилась строчка с низу, под машиной за день, в ней считалось сколько рейсов было проведено за сутки, и выводилось среднее значение в 4 пунктах?

    • @forsytee
      @forsytee  2 ปีที่แล้ว

      Абстрактное сообщение но спасибо и за него) Как строку добавлять в ексель через Шарп погуглите, остальное не понял

  • @sudo8709
    @sudo8709 2 ปีที่แล้ว +1

    У меня VS2019. Всё сделал по подобию как у тебя (свои названия и количество колонок), но таблица на сером фоне так и не появилась. Что я делаю не так? dataGridView1.DataSource = table; писал.

    • @forsytee
      @forsytee  2 ปีที่แล้ว

      Никогда не работал в 2019 студии вполне могло что-то измениться в ДГВ. Я например узнал недавно что чартс то есть графики математические есть только в дот нете 4.6, потом их убрали в шарпе. так что не знаю.

  • @Werterit
    @Werterit 3 ปีที่แล้ว +1

    Автор, у меня вопрос а как после этого добавить новый ряд?

    • @forsytee
      @forsytee  3 ปีที่แล้ว

      дататейбл.адд роу? Попробуй погуглить, а тут задавать более серьезные вопросы

  • @forsytee
    @forsytee  5 ปีที่แล้ว +11

    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)
    {
    }
    }
    }

    • @user-jb5kg1jy2h
      @user-jb5kg1jy2h 3 ปีที่แล้ว +1

      бро, если посчитаешь сколько раз ты сохранял, скину на карту сколько скажешь

    • @user-jb5kg1jy2h
      @user-jb5kg1jy2h 3 ปีที่แล้ว

      и бандикам не забудь посчитать

    • @iscosharshenov4764
      @iscosharshenov4764 ปีที่แล้ว

      Как скопировать

  • @justchicknugget
    @justchicknugget ปีที่แล้ว +1

    А можно как-то ширину поменять у столбца?

    • @forsytee
      @forsytee  ปีที่แล้ว

      По идее да

  • @NerVoiceStudio
    @NerVoiceStudio 2 ปีที่แล้ว +2

    А как в лист записать данные из текстового файла?

    • @forsytee
      @forsytee  2 ปีที่แล้ว

      Посмотрите соответствующий ролик на моем канале.

    • @NerVoiceStudio
      @NerVoiceStudio 2 ปีที่แล้ว +1

      Не знал, что такой есть. Собственно, я уже сам разобрался, но спасибо)

  • @user-gh2ml3cf5o
    @user-gh2ml3cf5o 18 วันที่ผ่านมา +1

    Почему DataGridView начинает жутко тормозить, когда строк в таблице несколько тысяч?

    • @forsytee
      @forsytee  18 วันที่ผ่านมา

      Спасибо за комментарий) Никогда много строк не выводил, максимум было 50. Почему трудно ответить, плохо разрабы сделали)

    • @user-gh2ml3cf5o
      @user-gh2ml3cf5o 18 วันที่ผ่านมา

      @@forsytee ексель то запросто даже 1 млн строк выводит и не тормозит.
      Ну ,понятно! А есть какие-нибудь аналоги dataGridView?

  • @86werth
    @86werth ปีที่แล้ว +1

    Автор, подскажите как загрузить данные из текстового документа в datagredview?

    • @forsytee
      @forsytee  ปีที่แล้ว +1

      Посмотри мой ролик как считать данные из тхт в структуру а потом данные из этой структуры помести в таблиц дата грид Вью. Два видео просто посмотри это и про тхт

  • @sonyxplay
    @sonyxplay 3 ปีที่แล้ว +1

    Автор, нужно помощь твоя, ответь пожалуйста...

    • @forsytee
      @forsytee  3 ปีที่แล้ว +1

      Зритель, отвечаю

    • @sonyxplay
      @sonyxplay 3 ปีที่แล้ว +1

      @@forsytee с тобой можно связаться как нибудь?Мессенджер возможно какой нибудь?Если есть время, разумеется.

    • @forsytee
      @forsytee  3 ปีที่แล้ว

      @@sonyxplay смотря что хочешь, я сейчас на пике написания диплома, поэтому популярный в последнее время запрос на "сделай мне диплом" "сделай мне практику,курсовую" можно не задавать до июля)

    • @sonyxplay
      @sonyxplay 3 ปีที่แล้ว

      @@forsytee блиииин, я так понял тема заезжена🤣 не то что бы диплом, проект у меня есть, у меня есть некоторые моменты, которые я не могу сконструировать в моей программе, в частности имею проект WPF C# в связке с SQL базой, тема Магазин компьютерной техники, все таблицы выводятся, редактируются и все остальное, НО
      Я не знаю как сделать так, что бы при нажатии на кнопку купить в DataGrid, в таблице с товаром значение количества уменьшалось на 1 (и эта строка уходила в другую таблицу(корзину)...

    • @sonyxplay
      @sonyxplay 3 ปีที่แล้ว

      А так да, диплом горит тоже 😂
      Но суть не в нем, а в проекте)

  • @amz2mov
    @amz2mov 2 ปีที่แล้ว +1

    "Доброо врэмэни суток" - говорят только ушлёпки.