C # Не могу связать список с DataGridView - - PullRequest
0 голосов
/ 26 октября 2018

Я, должно быть, схожу с ума - я не могу выполнить простую задачу отображения моего списка в моем DataGridView с помощью кода dgv.datasource = list. Ошибки не появляются, но мой список остается пустым - кто-нибудь может помочь, я уверен, что это что-то очевидное, но я просто не могу это заметить.

    namespace WindowsFormsApp4
{

    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            List<DGVNames> NamesList = new List<DGVNames>();

            NamesList.Add(new DGVNames("Adam", 18, "Wigan"));
            NamesList.Add(new DGVNames("Bob", 21, "Bolton"));

            dataGridView1.AutoGenerateColumns = true;

            dataGridView1.DataSource = NamesList;

        }
        }

}

и это мой класс ..

namespace WindowsFormsApp4
{
    class DGVNames
    {
        public String strName;
        public int intAge;
        public String strTown;

        public DGVNames(String _strName, int _intAge, String _strTown)
        {
            strName = _strName;
            intAge = _intAge;
            strTown = _strTown;
        }
    }
}

1 Ответ

0 голосов
/ 26 октября 2018

Я думаю, что проблема в том, что New Contributor сказал - DataGridView требует привязки свойств, а не только полей. Вам нужно Getters и Setters, чтобы привязка заработала.

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

public String strName { get; set; }
public int intAge { get; set; }
public String strTown { get; set; }

public DGVNames(String _strName, int _intAge, String _strTown)
{
    strName = _strName;
    intAge = _intAge;
    strTown = _strTown;
}
...