Проблемы с отображением списка с использованием DataGridView в Windows Forms, NET Core - PullRequest
0 голосов
/ 25 марта 2020

Код:

public MainMenu()
        {
            InitializeComponent();

            var employeesList = DatabaseMethods.GetEmployees();
            var source = new BindingSource(employeesList, null);
            dataGridView1.DataSource = source;
        }
public class DatabaseMethods
    {
        public static async Task<List<Employees>> GetEmployees()
        {
            await using var context = new NorthwindContext();
            var query = await context.Employees.ToListAsync();
            return query;
        }
    }  

Результат:

Link to image

Как это исправить? Кажется, что DataGridView должен автоматически отображать список в этом окне, но для меня это, кажется, отображать весь список в одну строку, которая просто показывает кучу ссылок.

После долгих поисков такая вещь работает:

        private async void LoadBtn_Click(object sender, EventArgs e)
        {
            ICollection<Employees> list = await DatabaseMethods.GetEmployees();
            var listSource = new BindingList<Employees>(list.ToList());
            var source = new BindingSource(listSource, null);
            dataGridView1.DataSource = source;
        }

Но для загрузки списка требуется кнопка добавления. Я хотел заполнить список во время инициализации, но я должен был бы сделать asyn c конструктор, который кажется невозможным.

Edit

Хорошо, я могу просто переместить этот код в другую функцию и Назовите это в основном. Проблема решена.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...