public void Bind(PostPositionStatistics pps)
        {
            _labelCondition.Text = pps.TrackCondition;
            _grid.Rows.Clear();
            _grid.Columns.Clear();
            _grid.Columns.Add("PP", "PP");
            _grid.Columns.Add("TOT", "TOT");
            _grid.Columns.Add("W%", "W%");
            _grid.Columns.Add("IV", "IV");
            _grid.Columns.Add("W2W", "W2W");

            _grid.Rows.Add(pps.Count());

            var ivList = new List<double>();
            int rowIndex = 0;
            foreach (var postPositionStatistic in pps)
            {
                var cells = _grid.Rows[rowIndex].Cells;

                cells[0].Value = postPositionStatistic.PostPosition;
                cells[1].Value = postPositionStatistic.TotalStarters;
                cells[2].Value = string.Format("{0}%", (int)(postPositionStatistic.WinPercent * 100));
                cells[3].Value = string.Format("{0:0.00}", postPositionStatistic.IV);
                cells[4].Value = string.Format("{0}%", (int)(postPositionStatistic.W2WWinPercent * 100));

                if (postPositionStatistic.TotalStarters > 12)
                    ivList.Add(postPositionStatistic.IV );
                ++rowIndex;
            }

            _tbAverageIV.Text = string.Format("{0:0.00}", ivList.Count > 0 ? ivList.Average() : 0.0);

            _tbIVStdDev.Text = string.Format("{0:0.00}", CalculateStdDev(ivList));
        }
        void InitializeGrid(PostPositionStatistics pps)
        {
            _grid.Columns.Add("PP", "PP");
            _startingColumn.Clear();

            foreach (var postPositionStatistic in pps)
            {
                string trackCondition = postPositionStatistic.TrackCondition;

                string name = trackCondition + "\nTotal";

                _startingColumn.Add(postPositionStatistic, _grid.Columns.Add(name, name));
                name = trackCondition + "\nWin%";
                _grid.Columns.Add(name, name);

                name = trackCondition + "\nIV";
                _grid.Columns.Add(name, name);

                name = trackCondition + "\nW2W%";
                _grid.Columns.Add(name, name);

            }

            _grid.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing;
            _grid.ColumnHeadersHeight = 50;

            for(int col = 0; col < _grid.Columns.Count; ++col)
            {
                _grid.Columns[col].Width = 40;
                _grid.Columns[col].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight;

            }

            foreach(int c in _startingColumn.Values)
            {
                _grid.Columns[c].DefaultCellStyle.BackColor = Color.Black;
                _grid.Columns[c].DefaultCellStyle.ForeColor = Color.White;
            }
        }
        private void InitializeTableGrid(PostPositionStatistics pps)
        {
            _flowLayoutPanel.Controls.Clear();

            foreach (var postPositionStatistic in pps)
            {

                var ctrl = new W2WStatsCtrl
                               {
                                   Description = postPositionStatistic.TrackCondition,
                                   NumberOfRaces =  postPositionStatistic.Count > 0 ?  postPositionStatistic[0].NumberOfRaces : 0,
                                   W2WWinners = postPositionStatistic.Sum(ppstats => ppstats.W2WWinners)
                               };

                _flowLayoutPanel.Controls.Add(ctrl);
            }
        }