c#winform中一个窗体要使用另一个窗体的dgv控件显示list集合数据,怎么显示不了
如:List<Foodlist>lists=newList<Foodlist>();foreach(FoodClassfoodsinlist)//遍历集合{Foodlis...
如:
List<Foodlist> lists = new List<Foodlist>();
foreach (FoodClass foods in list) //遍历集合
{
Foodlist foodlist = new Foodlist();
foodlist.Name = foods.FoodName;
foodlist.Number = foods.Number;
foodlist.Price = foods.Price;
lists.Add(foodlist);
}
FrmUser frmuser = new FrmUser();
frmuser.DGV_Oder.DataSource = lists;//绑定选中数据
FrmUser 窗体里的DGV_Oder加载不了数据 展开
List<Foodlist> lists = new List<Foodlist>();
foreach (FoodClass foods in list) //遍历集合
{
Foodlist foodlist = new Foodlist();
foodlist.Name = foods.FoodName;
foodlist.Number = foods.Number;
foodlist.Price = foods.Price;
lists.Add(foodlist);
}
FrmUser frmuser = new FrmUser();
frmuser.DGV_Oder.DataSource = lists;//绑定选中数据
FrmUser 窗体里的DGV_Oder加载不了数据 展开
展开全部
在你实例化FrmUse窗体的时候,你的DGV_Order空间已经生成了,数据源默认是空的,你在外部给dgv绑定数据源是无效的,所以显示大雀不了,dgv的数据源必须要在初始化的时候绑定,也就是在你的frmUser_load的时候,所以你可以重载你FrmUser的构造方法,把数据源传过去,然后在FrmUser那边接收,直接给dgv绑定即可,还有另外一种方式,就是把你的dgv设置成公共静态控件,即 把其private改为public stati,然后你在上面的代氏仿宴码中就不要实例化FrmUser了歼银,直接类名访问dgv,绑定数据源即可
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
在FrmUser类运迅里,再多加一个构造函数:
public FrmUser (List<Foodlist> i_lst)
{
InitializeComponent();
this.DGV_Oder.DataSource = i_lst;//绑定选中数据
}
在第一个窗体里,打旁轿此开FrmUser窗体,用以下帆山方式打开:
FrmUser frmuser = new FrmUser(lists);
public FrmUser (List<Foodlist> i_lst)
{
InitializeComponent();
this.DGV_Oder.DataSource = i_lst;//绑定选中数据
}
在第一个窗体里,打旁轿此开FrmUser窗体,用以下帆山方式打开:
FrmUser frmuser = new FrmUser(lists);
追问
为什么会出现可访问性不一致啊
追答
一般你要给另一个类或者窗体赋值,最好写上get和set,或者在希望被赋值的类里,增加一个public的函数,要么就是在构造函数上做手脚了。
还可以以读取数据库的形式。比如第一个窗体把数据存进数据库中,打开第二个窗体后读取出来绑定到控件上。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
建议使用bindingsource,然后将bindingsource作为参数在两个form之间操作
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询