我正在尝试使用Infragistics NETADVANTAGE Treemap来显示BI数据,但节点不工作,它只显示父节点:
使用System.Collections.ObjectModel;
命名空间UsingXamTreemap { 公共类ManufacturerViewModel { public ObservableCollection generales {get;组; }
public ManufacturerViewModel()
{
ObservableCollection<Empresa> empresas = new ObservableCollection<Empresa>();
ObservableCollection<Familia> familias = new ObservableCollection<Familia>();
ObservableCollection<Mes> meses = new ObservableCollection<Mes>();
Empresa empresa = new Empresa();
Familia familia = new Familia();
#region "GALVAPRIME, SA DE CV"
meses = new ObservableCollection<Mes>(){
new Mes("enero",147.177),
new Mes("febrero",114.79806)
};
familia = new Familia("LAF", 32.37894, meses);
familias.Add(familia);
empresa = new Empresa("GALVAPRIME, SA DE CV", enumMercados.Industrial, familias);
empresas.Add(empresa);
#endregion
#region "VENTACERO, SA DE CV"
familias = new ObservableCollection<Familia>();
meses = new ObservableCollection<Mes>(){
new Mes("enero",148.388),
new Mes("febrero",142.45248)
};
familia = new Familia("LAF", 5.93552, meses);
familias.Add(familia);
meses = new ObservableCollection<Mes>(){
new Mes("enero",273.533),
new Mes("febrero",257.12102)
};
familia = new Familia("REVESTIDOS", 16.41198, meses);
familias.Add(familia);
meses = new ObservableCollection<Mes>(){
new Mes("enero",438.966),
new Mes("febrero",122.91048)
};
familia = new Familia("LAC", 316.05552, meses);
familias.Add(familia);
empresa = new Empresa("VENTACERO, SA DE CV", enumMercados.Industrial, familias);
empresas.Add(empresa);
#endregion
#region "ALCALDE MARTINEZ FEDERICO"
familias = new ObservableCollection<Familia>();
meses = new ObservableCollection<Mes>(){
new Mes("enero",148.787),
new Mes("febrero",133.9083)
};
familia = new Familia("LAC", 14.8787, meses);
familias.Add(familia);
meses = new ObservableCollection<Mes>(){
new Mes("enero",189.719),
new Mes("febrero",30.35504)
};
familia = new Familia("LAF", 159.36396, meses);
familias.Add(familia);
meses = new ObservableCollection<Mes>(){
new Mes("enero",344.236),
new Mes("febrero",433.73736)
};
familia = new Familia("LAC", -89.50136, meses);
familias.Add(familia);
empresa = new Empresa("VENTACERO, SA DE CV", enumMercados.Comercial, familias);
empresas.Add(empresa);
#endregion
#region "ACEROMEX SA DE CV"
familias = new ObservableCollection<Familia>();
meses = new ObservableCollection<Mes>(){
new Mes("enero",149.236),
new Mes("febrero",74.618)
};
familia = new Familia("LAF", 74.618, meses);
familias.Add(familia);
meses = new ObservableCollection<Mes>(){
new Mes("enero",223.266),
new Mes("febrero",334.899)
};
familia = new Familia("LAC", -111.633, meses);
familias.Add(familia);
meses = new ObservableCollection<Mes>(){
new Mes("enero",253.465),
new Mes("febrero",159.68295)
};
familia = new Familia("REVESTIDOS", 93.78205, meses);
familias.Add(familia);
meses = new ObservableCollection<Mes>(){
new Mes("enero",781.433),
new Mes("febrero",1320.62177)
};
familia = new Familia("LAC", -539.18877, meses);
familias.Add(familia);
empresa = new Empresa("ACEROMEX SA DE CV", enumMercados.Comercial, familias);
empresas.Add(empresa);
#endregion
#region "GPO. ACEROFERTAS"
familias = new ObservableCollection<Familia>();
meses = new ObservableCollection<Mes>(){
new Mes("enero",149.823),
new Mes("febrero",254.6991)
};
familia = new Familia("TUBOS Y PERFILES", -104.8761, meses);
familias.Add(familia);
empresa = new Empresa("GPO. ACEROFERTAS", enumMercados.Comercial, familias);
empresas.Add(empresa);
#endregion
ObservableCollection<Mercado> mercados = new ObservableCollection<Mercado>(){
new Mercado(enumMercados.Comercial, empresas)
};
generales = new ObservableCollection<General>();
generales.Add(new General(mercados));
}
}
public enum enumMercados { Comercial, Industrial, Construccion };
public class General
{
public string descripcion { get; set; }
public int cantMercados { get; set; }
public double varianza { get; set; }
public double venta { get; set; }
public ObservableCollection<Mercado> mercados { get; set; }
public General()
{
}
public General(ObservableCollection<Mercado> mercados)
{
this.varianza = 0;
this.venta = 0;
foreach (Mercado mercado in mercados)
{
this.varianza += mercado.varianza;
this.venta += mercado.venta;
}
this.cantMercados=3;
this.descripcion = "Mercados: " + this.cantMercados + " TN's: " + this.venta + " Var: " + this.varianza + "%";
}
}
public class Mercado
{
public string descripcion { get; set; }
public enumMercados nombre { get; set; }
public double varianza { get; set; }
public double venta { get; set; }
public ObservableCollection<Empresa> empresas { get; set; }
public Mercado()
{
}
public Mercado(enumMercados nombre, ObservableCollection<Empresa> empresas)
{
this.nombre = nombre;
this.empresas = empresas;
this.venta = 0;
this.varianza = 0;
foreach (Empresa empresa in empresas)
{
this.venta += empresa.venta;
this.varianza += empresa.varianza;
}
this.descripcion = this.nombre + " TN's: " + this.venta + " Var: " + this.varianza + "%";
}
}
public class Empresa
{
public string descripcion { get; set; }
public string nombre { get; set; }
public double varianza { get; set; }
public double venta { get; set; }
public enumMercados mercado { get; set; }
public ObservableCollection<Familia> familias { get; set; }
public Empresa()
{
}
public Empresa(string nombre, enumMercados mercado, ObservableCollection<Familia> familias)
{
this.nombre = nombre;
this.mercado = mercado;
this.familias = familias;
this.venta = 0;
this.varianza = 0;
foreach (Familia familia in familias)
{
this.venta += familia.venta;
this.varianza += familia.varianza;
}
this.descripcion = this.nombre + " TN's: " + this.venta + " Var: " + this.varianza + "%";
}
}
public class Familia
{
public string descripcion { get; set; }
public string nombre { get; set; }
public double venta { get; set; }
public double varianza { get; set; }
public ObservableCollection<Mes> meses { get; set; }
public Familia()
{
}
public Familia(string nombre, double varianza, ObservableCollection<Mes> meses)
{
this.nombre = nombre;
this.varianza = varianza;
this.meses = meses;
this.venta = 0;
foreach (Mes mes in meses)
{
this.venta += mes.venta;
}
this.descripcion = this.nombre + " TN's: " + this.venta + " Var: " + this.varianza + "%";
}
}
public class Mes
{
public string nombre { get; set; }
public double venta { get; set; }
public Mes()
{
}
public Mes(string nombre, double venta)
{
this.nombre = nombre;
this.venta = venta;
}
}
}