예제 #1
0
        private void Bind_statistic()
        {
            try
            {
                string school    = ddl_School.SelectedValue;
                string startYear = input_start.Value;
                string endYear   = input_end.Value;
                string label     = "";
                if (!startYear.IsNullOrEmpty())
                {
                    label += "【出生年份>=" + startYear + "年】";
                }
                if (!endYear.IsNullOrEmpty())
                {
                    label += "【出生年份<=" + endYear + "年】";
                }
                if (!school.Equals("0"))
                {
                    label += "【" + ddl_School.SelectedItem.Text + "】";
                }
                if (label == "")
                {
                    label = "【全体】";
                }
                label          += "在校本科生性别统计";
                label_head.Text = label;
                DataTable dt = StudentBusiness.GetStatisticBySex(school, startYear, endYear);
                if (dt != null)
                {
                    if (dt.Rows.Count == 1)
                    {
                        if (dt.Rows[0]["Column"].Equals("True"))
                        {
                            DataRow dr = dt.NewRow();
                            dr["Column"] = "False";
                            dr["Count"]  = 0;
                            dt.Rows.InsertAt(dr, 0);
                        }
                        else
                        {
                            DataRow dr1 = dt.NewRow();
                            dr1["Column"] = "True";
                            dr1["Count"]  = 0;
                            dt.Rows.Add(dr1);
                        }
                    }
                    else if (dt.Rows.Count == 0)
                    {
                        DataRow dr = dt.NewRow();
                        dr["Column"] = "False";
                        dr["Count"]  = 0;
                        dt.Rows.Add(dr);
                        DataRow dr1 = dt.NewRow();
                        dr1["Column"] = "True";
                        dr1["Count"]  = 0;
                        dt.Rows.Add(dr1);
                    }
                    dt.Columns["Column"].ColumnName = "Sex";
                    dt.Columns.Add("ItemName");    //item名称
                    dt.Columns.Add("Percent");     //百分比
                    int itemCount = dt.Rows.Count; //总项数
                    int totals    = 0;             //总人数
                    foreach (DataRow dr in dt.Rows)
                    {
                        totals += Convert.ToInt32(dr["Count"].ToString());
                    }
                    foreach (DataRow dr in dt.Rows)
                    {
                        dr["ItemName"] = dr["Sex"].ToString().Equals("True") ? "女" : "男";
                        double percent = totals == 0 ? 0.0000 : Math.Round(Convert.ToDouble(dr["Count"].ToString()) / totals, 4);
                        dr["Percent"] = percent * 100 + "%";
                        if (PercentString.Equals(""))
                        {
                            PercentString = "['" + dr["ItemName"] + "'," + percent + "]";
                        }
                        else
                        {
                            PercentString += ",['" + dr["ItemName"] + "'," + percent + "]";
                        }
                    }

                    DataRow dr_total = dt.NewRow();//添加一条 总计
                    dr_total["ItemName"] = "总计";
                    dr_total["Count"]    = totals;
                    dr_total["Percent"]  = totals == 0 ? "0.00%" : "100%";
                    dt.Rows.Add(dr_total);

                    gv_result.DataSource = dt;
                    gv_result.DataBind();
                    Label_Result.Text = itemCount.ToString();
                }
                else
                {
                    ScriptManager.RegisterStartupScript(UpdatePanel1, this.GetType(), "alter", "layer.alert('数据加载错误!')", true);
                }
            }
            catch (Exception ex)
            {
                ScriptManager.RegisterStartupScript(UpdatePanel1, this.GetType(), "alter", "layer.alert('数据加载错误!')", true);
            }
        }
예제 #2
0
        private DataTable GetDataTable()
        {
            try
            {
                string    school    = ddl_School.SelectedValue;
                string    startYear = input_start.Value;
                string    endYear   = input_end.Value;
                DataTable dt        = StudentBusiness.GetStatisticBySex(school, startYear, endYear);
                if (dt != null)
                {
                    if (dt.Rows.Count == 1)
                    {
                        if (dt.Rows[0]["Column"].Equals("True"))
                        {
                            DataRow dr = dt.NewRow();
                            dr["Column"] = "False";
                            dr["Count"]  = 0;
                            dt.Rows.InsertAt(dr, 0);
                        }
                        else
                        {
                            DataRow dr1 = dt.NewRow();
                            dr1["Column"] = "True";
                            dr1["Count"]  = 0;
                            dt.Rows.Add(dr1);
                        }
                    }
                    else if (dt.Rows.Count == 0)
                    {
                        DataRow dr = dt.NewRow();
                        dr["Column"] = "False";
                        dr["Count"]  = 0;
                        dt.Rows.Add(dr);
                        DataRow dr1 = dt.NewRow();
                        dr1["Column"] = "True";
                        dr1["Count"]  = 0;
                        dt.Rows.Add(dr1);
                    }
                    dt.Columns["Column"].ColumnName = "Sex";
                    dt.Columns.Add("ItemName");    //item名称
                    dt.Columns.Add("Percent");     //百分比
                    int itemCount = dt.Rows.Count; //总项数
                    int totals    = 0;             //总人数
                    foreach (DataRow dr in dt.Rows)
                    {
                        totals += Convert.ToInt32(dr["Count"].ToString());
                    }
                    foreach (DataRow dr in dt.Rows)
                    {
                        dr["ItemName"] = dr["Sex"].ToString().Equals("True") ? "女" : "男";
                        double percent = totals == 0 ? 0.0000 : Math.Round(Convert.ToDouble(dr["Count"].ToString()) / totals, 4);
                        dr["Percent"] = percent * 100 + "%";
                    }

                    DataRow dr_total = dt.NewRow();//添加一条 总计
                    dr_total["ItemName"] = "总计";
                    dr_total["Count"]    = totals;
                    dr_total["Percent"]  = totals == 0 ? "0.00%" : "100%";
                    dt.Rows.Add(dr_total);
                    return(dt);
                }
                else
                {
                    ScriptManager.RegisterStartupScript(UpdatePanel1, this.GetType(), "alter", "layer.alert('数据加载错误!')", true);
                    return(new DataTable());
                }
            }
            catch (Exception ex)
            {
                ScriptManager.RegisterStartupScript(UpdatePanel1, this.GetType(), "alter", "layer.alert('数据加载错误!')", true);
                return(new DataTable());
            }
        }