一共有两个类,一个用户,一个订单。如下
class user
{
private string uid;
private string uname;
....
private List<order> uorder;
....}
class order
{
private string orderid;
prvate string ordercontent;
....
}也就是一个用户对应多个订单,一共有多个用户。我需要以用户为单位做报表,例如单个用户为一页,
页面上方显示用户的基本信息,下方显示该用户的订单信息
下一页显示下一个用户的订单信息。我现在设置报表的数据源的时候,将数据源设定为系统对象,也就是user类,可是在绑定的字段中却看不到user类的order属性
我写下面的代码也不行 List<UserInfo> ucollection = new List<UserInfo>();
for (int i = 0; i < 5; i++)
{ UserInfo uu = new UserInfo();
uu.Username = "HI" + i.ToString();
uu.Telephone = "123" + i.ToString();
uu.Sex = i.ToString();
uu.Age = "88";
ucollection.Add(uu);
for (int j = 0; j < 5; j++)
{
yuyue yy = new yuyue();
yy.Yuyueid = j.ToString() + i.ToString();
yy.Yuyuename = "s";
yy.Yuyueneirong = "sf";
uu.Yuyuecollection.Add(yy); this.CrystalReport21.Subreports[0].SetDataSource(uu.Yuyuecollection);
//这里肯定不可以这样写,不过我也不知道怎么写
}
}
this.CrystalReport21.SetDataSource(ucollection);
使用子报表也没弄好
希望大家给我点思路,或者有类似的例子给我参考下。
class user
{
private string uid;
private string uname;
....
private List<order> uorder;
....}
class order
{
private string orderid;
prvate string ordercontent;
....
}也就是一个用户对应多个订单,一共有多个用户。我需要以用户为单位做报表,例如单个用户为一页,
页面上方显示用户的基本信息,下方显示该用户的订单信息
下一页显示下一个用户的订单信息。我现在设置报表的数据源的时候,将数据源设定为系统对象,也就是user类,可是在绑定的字段中却看不到user类的order属性
我写下面的代码也不行 List<UserInfo> ucollection = new List<UserInfo>();
for (int i = 0; i < 5; i++)
{ UserInfo uu = new UserInfo();
uu.Username = "HI" + i.ToString();
uu.Telephone = "123" + i.ToString();
uu.Sex = i.ToString();
uu.Age = "88";
ucollection.Add(uu);
for (int j = 0; j < 5; j++)
{
yuyue yy = new yuyue();
yy.Yuyueid = j.ToString() + i.ToString();
yy.Yuyuename = "s";
yy.Yuyueneirong = "sf";
uu.Yuyuecollection.Add(yy); this.CrystalReport21.Subreports[0].SetDataSource(uu.Yuyuecollection);
//这里肯定不可以这样写,不过我也不知道怎么写
}
}
this.CrystalReport21.SetDataSource(ucollection);
使用子报表也没弄好
希望大家给我点思路,或者有类似的例子给我参考下。
就是在order类中加入了一个userid属性,和user类对应起来
然后设置子报表的关联字段为userid
代码如下: List<UserInfo> ucollection = new List<UserInfo>();
List<Order> uordercollection=new List<order>();//这里加入了一个订单类的集合//这样user集合和订单集合是通过类中的id关联起来的 就没有了以前的层次感 for (int i = 0; i < 5; i++)
{ UserInfo uu = new UserInfo();
uu.Username = "HI" + i.ToString();
uu.Telephone = "123" + i.ToString();
uu.Sex = i.ToString();
uu.Age = "88";
ucollection.Add(uu);
for (int j = 0; j < 5; j++)
{
yuyue yy = new yuyue();
yy.Yuyueid = j.ToString() + i.ToString();
yy.Yuyuename = "s";
yy.Yuyueneirong = "sf";
uu.ordercollection.Add(yy);
}
uordercollection.addrange(uu.ordercollection);
}
this.CrystalReport21.SetDataSource(ucollection); this.CrystalReport21.Subreports[0].SetDataSource(uordercollection); 反正功能这样实现了,不知道用我以前的那种方法能不能更好的实现