レポートにデータを流し込むには、DataSetが一般的みたいだけど、
DeataSetだと文字列で指定しなきゃだから使い勝手が悪い・・・。
なのでクラスのListをデータに流し込む方法!
まずはオリジナルのクラスを作成。
----------------------------------------------------------
public class SampleDesign
{
//Selectメソッドで流し込むデータを生成し返り値にする
//引数は必要なものを必要なだけ定義する
[DataObjectMethod(DataObjectMethodType.Select, true)]
public List<SampleDesign> Select(int test)
{
List<SampleDesign> datas = new List<SampleDesign>();
SampleDesign data;
data = new SampleDesign();
data.TestCD = 1;
data.TestName = "表示名称";
datas.Add(data);
data = new SampleDesign();
data.TestCD = 2;
data.TestName = "表示名称2つ目";
datas.Add(data);
return datas;
}
//帳票の項目
public int TestCD { get; set; }
public string TestName { get; set; }
}
------------------------------------------------------
デザイン画面にReportViewerとScriptManagerとObjectDataSourceを配置する。
ビルドを行い、DataSourceのデータソースの定義で作ったクラスを選択する。
データメソッドの定義画面で、
SELECTタブのメソッドの選択で、クラス内に定義したSelectを選択する。
パラメーターの定義画面で、
Selectに必要なパラメーターの設定を行う。
パラメーターはObjectDataSource1.SelectParametersにセットすればSelectで受けられる。
--------------------------------------------------------------------
protected void Page_Load(object sender, EventArgs e)
{
this.ObjectDataSource1.SelectParameters[0] =
new Parameter("test", TypeCode.Int32, "4321");
}
--------------------------------------------------------------------
これでビルドして実行!!