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();
}
レポート自体でこれを行う方法はありますか? もちろん、実際にはレポートの定義された場所に値を配置します。