1

我正在尝试使用 Infragistics NETADVANTAGE Treemap 来显示 BI 数据,但节点不起作用,它只显示父节点:

使用 System.Collections.ObjectModel;

命名空间 UsingXamTreemap { public class 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;
    }
}

}

4

0 回答 0