我刚刚下载了 Telerik,在互联网上找不到太多帮助。我希望能够生成一个华丽的报告,而 Telerik 看起来像是要走的路。话虽如此,我不想使用所有的向导和垃圾来构建我的报告。是否有某种“report_load”函数可以在报告加载时使用。我需要能够配置连接字符串,并且让用户输入一些生成报告的值。
这是生成报告的代码:
private void GenerateReport()
{
DBaseConn.Open();
SqlCommand = new SqlCommand("SELECT Gate, Weight, Date_Created FROM Backrib_Manifest " +
"WHERE Date_Created >= '" + fromddate + "'" +
"AND Date_Created <= '" + todate + "'", DBaseConn);
DataReader = SqlCommand.ExecuteReader();
while (DataReader.Read())
{
switch (Convert.ToInt32(DataReader["Gate"]))
{
case 1:
gatecount[0]++;
gate1weight += double.Parse(DataReader["Weight"].ToString());
break;
case 2:
gatecount[1]++;
gate2weight += double.Parse(DataReader["Weight"].ToString());
break;
case 3:
gatecount[2]++;
gate3weight += double.Parse(DataReader["Weight"].ToString());
break;
case 4:
gatecount[3]++;
gate4weight += double.Parse(DataReader["Weight"].ToString());
break;
case 5:
gatecount[4]++;
gate5weight += double.Parse(DataReader["Weight"].ToString());
break;
case 6:
gatecount[5]++;
gate6weight += double.Parse(DataReader["Weight"].ToString());
break;
case 7:
gatecount[6]++;
gate7weight += double.Parse(DataReader["Weight"].ToString());
break;
case 8:
gatecount[7]++;
gate8weight += double.Parse(DataReader["Weight"].ToString());
break;
case 0:
gatecount[8]++;
gate0weight += double.Parse(DataReader["Weight"].ToString());
break;
default:
break;
}
}
DBaseConn.Close();
int totalcount = gatecount[0] + gatecount[1] + gatecount[2] + gatecount[3] + gatecount[4] +
gatecount[5] + gatecount[6] + gatecount[7] + gatecount[8];
lblCount1.Text = gatecount[0].ToString();
lblCount2.Text = gatecount[1].ToString();
lblCount3.Text = gatecount[2].ToString();
lblCount4.Text = gatecount[3].ToString();
lblCount5.Text = gatecount[4].ToString();
lblCount6.Text = gatecount[5].ToString();
lblCount7.Text = gatecount[6].ToString();
lblCount8.Text = gatecount[7].ToString();
//lblCount0.Text = gatecount[8].ToString();
if (totalcount != 0)
{
lblPct1.Text = (gatecount[0] / totalcount).ToString("P2");
lblPct2.Text = (gatecount[1] / totalcount).ToString("P2");
lblPct3.Text = (gatecount[2] / totalcount).ToString("P2");
lblPct4.Text = (gatecount[3] / totalcount).ToString("P2");
lblPct5.Text = (gatecount[4] / totalcount).ToString("P2");
lblPct6.Text = (gatecount[5] / totalcount).ToString("P2");
lblPct7.Text = (gatecount[6] / totalcount).ToString("P2");
lblPct8.Text = (gatecount[7] / totalcount).ToString("P2");
//lblPct0.Text = (gatecount[8] / totalcount).ToString("P2");
}
lblWeight1.Text = (gate1weight / gatecount[0]).ToString();
lblWeight2.Text = (gate2weight / gatecount[1]).ToString();
lblWeight3.Text = (gate3weight / gatecount[2]).ToString();
lblWeight4.Text = (gate4weight / gatecount[3]).ToString();
lblWeight5.Text = (gate5weight / gatecount[4]).ToString();
lblWeight6.Text = (gate6weight / gatecount[5]).ToString();
lblWeight7.Text = (gate7weight / gatecount[6]).ToString();
lblWeight8.Text = (gate8weight / gatecount[7]).ToString();
//lblWeight0.Text = (gate0weight / gatecount[8]).ToString();
}
有没有办法在报告本身中做到这一点?当然,我实际上会将这些值放在报告中定义的位置。