private void BindDemographicData(Base.Classes.Class course)
        {
            var demographicDataSource = course.GetDemographicData();
            string rawData = "[";
            string labels = "[";

            //Load gender data to hidden inputs
            foreach(DataRow row in demographicDataSource.Tables["Gender"].Rows)
            {
                rawData += "['" + row["Gender"].ToString() + "', " + row["Percentage"].ToString() + ", " +
                           row["Count"].ToString() + "],";

                labels += "'" + row["Gender"].ToString() + "',";
            }
            genderRawData.Value = (rawData == "[" ? rawData : rawData.Substring(0, rawData.LastIndexOf(","))) + "]";
            genderLabels.Value = (labels == "[" ? labels : labels.Substring(0, labels.LastIndexOf(","))) + "]";
            //***********************************************************************

            //Reset rawData and labels
            rawData = "[";
            labels = "[";

            //Load race data to hidden inputs
            foreach (DataRow row in demographicDataSource.Tables["Races"].Rows)
            {
                if (DataIntegrity.ConvertToInt(row["Count"]) == 0) continue;

                rawData += "['" + row["Race"].ToString() + "', " + row["Percentage"].ToString() + ", " +
                           row["Count"].ToString() + "],";

                labels += "'" + row["Race"].ToString() + "',";
            }
            raceRawData.Value = (rawData == "[" ? rawData : rawData.Substring(0, rawData.LastIndexOf(","))) + "]";
            raceLabels.Value = (labels == "[" ? labels : labels.Substring(0, labels.LastIndexOf(","))) + "]";
            //***********************************************************************

            //Reset rawData and labels
            rawData = "[";
            labels = "[";

            //Load demographic subgroup data to hidden inputs
            foreach (DataRow row in demographicDataSource.Tables["Other"].Rows)
            {
                if (DataIntegrity.ConvertToInt(row["Count"]) == 0) continue;
                
                rawData += "['" + row["Demographic"].ToString() + "', " + row["Percentage"].ToString() + ", " +
                           row["Count"].ToString() + ", " + row["DemoField"].ToString() + "],";

                labels += "'" + row["Demographic"].ToString() + "',";
            }
            subgroupRawData.Value = (rawData == "[" ? rawData : rawData.Substring(0, rawData.LastIndexOf(","))) + "]";
            subgroupLabels.Value = (labels == "[" ? labels : labels.Substring(0, labels.LastIndexOf(","))) + "]";
            //***********************************************************************
        }