Код:
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;
}
}
Результат:
Как это исправить? Кажется, что 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
Хорошо, я могу просто переместить этот код в другую функцию и Назовите это в основном. Проблема решена.