public override void OnContentDisplay()
    {
        base.OnContentDisplay();

        CombatUnitManager mgr = NGUITools.FindInParents <UITrainingNavController> (transform).combatUnitManager;

        if (mgr != null)
        {
            totalCombatUnit.text = mgr.GetCurrentCombatUnit + "/" + mgr.maxCombatUnit;
        }

        CombatUnit[] unitInfos = mgr.GetAllCombatUnitInfo();

        if (grid.transform.childCount > 0)
        {
            Transform[] childs = new Transform[grid.transform.childCount];

            for (int i = 0; i < grid.transform.childCount; i++)
            {
                childs[i] = grid.transform.GetChild(i);
            }

            for (int i = 0; i < childs.Length; i++)
            {
                childs[i].parent = null;

                NGUITools.Destroy(childs[i].gameObject);
            }
        }

        for (int i = 0; i < unitInfos.Length; i++)
        {
            GameObject go = NGUITools.AddChild(grid.gameObject, unitDisplayPrefab);

            UIUnitDisplay display = go.GetComponent <UIUnitDisplay>();

            display.SetCombatUnitInfo(unitInfos[i]);
        }

        grid.Reposition();

        scrollview.ResetPosition();
    }