C# 为什么我的列表不能显示在DataGridView中
我不明白为什么我的列表不会显示在DataGridView中。如果我删除dataGridView1.DataSource=actors.ToList()的注释;它运行。。。但我需要它在我按下按钮时运行。有什么不对劲吗C# 为什么我的列表不能显示在DataGridView中,c#,winforms,datagridview,C#,Winforms,Datagridview,我不明白为什么我的列表不会显示在DataGridView中。如果我删除dataGridView1.DataSource=actors.ToList()的注释;它运行。。。但我需要它在我按下按钮时运行。有什么不对劲吗 public partial class Form1 : Form { public Form1() { InitializeComponent(); LoadData(); } public void LoadDa
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
LoadData();
}
public void LoadData()
{
List<Actor> actors = new List<Actor>
{
new Actor(){ PersonId = 1, ForNavn = "xxxx", EtterNavn = "bbbbb", Adresse = "Hhhhhh", PostNr = 37325, PostSted = "aaaa" },
new Actor(){ PersonId = 2, ForNavn = "ggggg", EtterNavn = "ddddd", Adresse = "Dssssss", PostNr = 37464, PostSted = "ssfff" },
};
//dataGridView1.DataSource = actors.ToList();
}
private void btnSok_Click(object sender, EventArgs e)
{
List<Actor> actors = new List<Actor>();
var query = from actor in actors
select actor;
dataGridView1.DataSource = query.ToList();
}
}
公共部分类表单1:表单
{
公共表格1()
{
初始化组件();
LoadData();
}
公共void LoadData()
{
列表参与者=新列表
{
新演员(){PersonId=1,ForNavn=“xxxx”,EtterNavn=“bbbbb”,Adresse=“hhhhh”,PostNr=37325,PostSted=“aaaa”},
新参与者(){PersonId=2,ForNavn=“ggggg”,EtterNavn=“ddddd”,Adresse=“dsssss”,PostNr=37464,PostSted=“ssfff”},
};
//dataGridView1.DataSource=actors.ToList();
}
私有无效btnSok_单击(对象发送方,事件参数e)
{
列表参与者=新列表();
var query=来自actors中的actor
选择演员;
dataGridView1.DataSource=query.ToList();
}
}
}因为按钮单击事件中的参与者列表为空 改用这个:
List<Actor> actors = new List<Actor>
{
new Actor(){ PersonId = 1, ForNavn = "xxxx", EtterNavn = "bbbbb", Adresse = "Hhhhhh", PostNr = 37325, PostSted = "aaaa" },
new Actor(){ PersonId = 2, ForNavn = "ggggg", EtterNavn = "ddddd", Adresse = "Dssssss", PostNr = 37464, PostSted = "ssfff" },
};
List actors=新列表
{
新演员(){PersonId=1,ForNavn=“xxxx”,EtterNavn=“bbbbb”,Adresse=“hhhhh”,PostNr=37325,PostSted=“aaaa”},
新参与者(){PersonId=2,ForNavn=“ggggg”,EtterNavn=“ddddd”,Adresse=“dsssss”,PostNr=37464,PostSted=“ssfff”},
};
因为按钮单击事件中的参与者列表为空
改用这个:
List<Actor> actors = new List<Actor>
{
new Actor(){ PersonId = 1, ForNavn = "xxxx", EtterNavn = "bbbbb", Adresse = "Hhhhhh", PostNr = 37325, PostSted = "aaaa" },
new Actor(){ PersonId = 2, ForNavn = "ggggg", EtterNavn = "ddddd", Adresse = "Dssssss", PostNr = 37464, PostSted = "ssfff" },
};
List actors=新列表
{
新演员(){PersonId=1,ForNavn=“xxxx”,EtterNavn=“bbbbb”,Adresse=“hhhhh”,PostNr=37325,PostSted=“aaaa”},
新参与者(){PersonId=2,ForNavn=“ggggg”,EtterNavn=“ddddd”,Adresse=“dsssss”,PostNr=37464,PostSted=“ssfff”},
};
公共部分类表单1:表单
{
私人演员名单;
公共表格1()
{
初始化组件();
LoadData();
}
公共void LoadData()
{
_演员=新名单
{
新演员(){PersonId=1,ForNavn=“xxxx”,EtterNavn=“bbbbb”,Adresse=“hhhhh”,PostNr=37325,PostSted=“aaaa”},
新参与者(){PersonId=2,ForNavn=“ggggg”,EtterNavn=“ddddd”,Adresse=“dsssss”,PostNr=37464,PostSted=“ssfff”},
};
}
私有无效btnSok_单击(对象发送方,事件参数e)
{
var query=来自_actors中的actor
选择演员;
dataGridView1.DataSource=query.ToList();
}
}
btnsOK中的参与者再次声明,未加载,因此有点空白。公共部分类Form1:Form
{
私人演员名单;
公共表格1()
{
初始化组件();
LoadData();
}
公共void LoadData()
{
_演员=新名单
{
新演员(){PersonId=1,ForNavn=“xxxx”,EtterNavn=“bbbbb”,Adresse=“hhhhh”,PostNr=37325,PostSted=“aaaa”},
新参与者(){PersonId=2,ForNavn=“ggggg”,EtterNavn=“ddddd”,Adresse=“dsssss”,PostNr=37464,PostSted=“ssfff”},
};
}
私有无效btnSok_单击(对象发送方,事件参数e)
{
var query=来自_actors中的actor
选择演员;
dataGridView1.DataSource=query.ToList();
}
}
btnsOK中的参与者再次声明,未加载,因此有点空白。参与者列表为空,您没有像在LoadData中那样向其中添加任何元素。最好使用数据绑定。参与者列表为空,您没有像在LoadData中那样向其添加任何元素。最好使用数据绑定。我应该编写什么来代替List actors=new List();在btn\u中单击“然后?”?因为如果我删除它,它会显示未分配的局部变量actors。要么在按钮单击事件中加载数据,要么使用Tony Hopkinson的回答我应该写什么而不是List actors=new List();在btn\u中单击“然后?”?因为如果我删除它,它会显示未分配的局部变量actors。要么在按钮单击事件中加载数据,要么使用Tony Hopkinson的答案