我在一个类中有一个List,它从.txt文件加载数据,该文件然后将数据存储在另一个包含构造函数和所有类的对象中。在我的表单中,我需要在DataGridView / ListView中显示所有数据,以便我可以查看它,根据需要选择并进行更改。
但是,当我在表单上执行此操作时,没有任何作用,或者它只会在顶部显示构造函数名称,但不会填充任何数据。我已经筋疲力尽了所有选项,谷歌左右和中心,似乎没有方法工作。试过像DataSource =<“class”> .theList这样的东西。即使尝试过DataBindings等,但似乎没有任何效果。它给出了一个错误,如<“class”> .theList不能像方法一样使用
呼吁Stack OverFlow的伟大人物帮助我朝着正确的方向前进。提前谢谢大家!
修改 我已经粘贴了一些示例代码,有关它的任何问题请随时询问。谢谢你们。
public class Form{
private void form_Load()
{
Wrapper wrap = new Wrapper();
List<Child> tempList = new List<Child>();
tempList = wrap.cList;
dataGridView1.DataSource = tempList;
}
}
class Wrapper{
public List<Child> cList = new List<Child>();
public void LoadPerson()
{
string filePath = @"filepath";
//StreamReader
//code to Add each different person + their details into the
protected fields
//stores in cList variables which are in Adult
}
}
class Adult{
protected string username, firstName;
protected int number;
}
class Child: Adult{
public Child(string Username, string Password, int Number)
{
username = Username;
password = Password;
number = Number;
}
//public getters/setters next
}
答案 0 :(得分:0)
如果没有看到您的代码,很难看出问题是什么!
但是我想建议另一种方法,如果你想查看对象,那么ObjectListView是一种替代解决方案。
http://objectlistview.sourceforge.net/cs/index.html
这是一个列表视图而不是数据网格视图,但您只需将对象的集合传递给它,它就会显示给您。
它也非常强大,可以让你自定义很多东西。
答案 1 :(得分:0)
如果没有代码和数据样本,很难给出好的建议。
我将使用以下方式从您拥有的数据中创建DataTable(代码需要根据您构建的数据结构进行修改):
VB.NET:
Dim dt as New Datatable
dt.Columns.Add("ID", GetType(Integer))
dt.Columns.Add("Name", GetType(String))
For ir = 0 to <SRC>.rows.count -1 ' modify to which ever way you can go through your data
dt.Rows.Add(<SRC>("ID"), <SRC>("name"))
Next
Me.DataGridView1.datasource = dt
C#:
Datatable dt = new Datatable();
dt.Columns.Add("ID", typeof(int));
dt.Columns.Add("Name", typeof(string));
for (ir = 0; ir <= <SRC>.rows.count - 1; ir++) {
// modify to which ever way you can go through your data
dt.Rows.Add(<SRC>("ID"), <SRC>("name"));
}
this.DataGridView1.datasource = dt;