これは、Windows デスクトップ アプリケーションです。私はrdlcのように使用List<>
しています。data
以下はコードです。
public class Balance_Party
{
public string Name { get; set; }
public double Amount { get; set; }
public static List<Balance_Party> GetPartyBalance()
{
List<Balance_Party> list = new List<Balance_Party>();
string qry = "SELECT " +
"[PRTY_NAME] AS NAME,[PRTY_AMOUNT] AS AMOUNT " +
"FROM [PARTY_MSTR]";
DataTable dt = globalData.q.select(qry, globalData.connectionstring);
list = (from DataRow row in dt.Rows
select new Balance_Party
{
Name = row["NAME"].ToString() == string.Empty ? " " : row["NAME"].ToString(),
Amount = row["AMOUNT"].ToString() == string.Empty ? 0 : Convert.ToDouble(row["AMOUNT"].ToString())
}).ToList();
return list;
}
}
フォームでは、以下のようReport_Viewer
にこれをロードしList<>
ます。
Microsoft.Reporting.WinForms.ReportDataSource dataset1
= new Microsoft.Reporting.WinForms.ReportDataSource();
this.reportViewer.LocalReport.DataSources.Clear();
this.reportViewer.LocalReport.ReportEmbeddedResource = "Report";
var list1 = Balance_Party.GetPartyBalance();
dataset1 = new Microsoft.Reporting.WinForms.ReportDataSource("Balance_Party", list1);
dataset1.Value = list1;
this.reportViewer.LocalReport.DataSources.Add(dataset1);
this.reportViewer.LocalReport.Refresh();
this.reportViewer.RefreshReport();
、レポートデータを追加するには - に 追加したReportData
後に追加しました。Tablix
RDLC
Add DataSet -> Choose datasource -> chose the Class Balance_Party -> load it to tablix
tablix
現在、表示するデータセットが既にあるレポートで実行時に列を追加する必要があるレポートの 1 つで問題が発生します。どうやってするの?任意の Tablix で実行時に列を追加する方法。
編集:- 列を追加する目的は、レポートがパーティごとの総売上に関するものであると仮定することです。パーティーが別の種類のアイテムのビジネスを行っている場合はどうなるでしょうか。
たとえば、最初の列は Party で、2 番目の列は鉛筆などの 1 つのアイテムの総売上高です。現在、一部のパーティーでボールペンの販売が開始されています。そのため、デザイナーでは列を 1 つだけ追加しました。今度は、ボールペン用の追加の列が必要です。私のコンピューターではレポートを再設計できますが、クライアントの PC ではできません。