Я не понимаю, в чем проблема со следующим простым кодом. Все, что он делает, это взять список и отобразить его в datagridview. Это ошибка, я получаю:Невозможно заполнить datagridview с помощью списка Generics
Ошибка 1 Противоречивые доступность: тип возвращаемого значения 'System.Collections.Generic.List' менее доступен, чем метод 'WindowsFormsApplication10.Form1.FillGridView()'
Кроме того, есть ли способ конвертировать ваш список, arraylist и т. Д. В тип набора данных?
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
public List<Student> FillGridView()
{
List<Student> l = new List<Student>();
l.Add (new Student { Fname="bloke", Lname="lll", Contact=293489485});
l.Add (new Student { Fname = "dog", Lname = "assdf", Contact = 35345 });
l.Add (new Student { Fname = "mary", Lname = "sdff", Contact = 6456 });
l.Add (new Student { Fname = "john", Lname = "sdfsdf", Contact = 45656 });
return l;
}
private void Form1_Load (object sender, EventArgs e)
{
dataGridView1.DataSource = this.FillGridView();
}
private void button1_Click (object sender, EventArgs e)
{
}
}
Просто примечание: ваш метод называется FillGridView, поэтому я ожидаю, что он заполнит сетку. Но это не так. Возможно, вам захочется найти лучшее имя (CreateStudentList или что-то еще), чтобы соответствовать его поведению. – nvoigt
http://stackoverflow.com/questions/6804603/return-type-is-less-accessible-than-method Является ли ваш класс студента частным или защищенным? – Lojko
Вы можете поделиться своим классом «Студент»? – Arshad