1

DataGridViewの場合と同じように、ReportViewerを実行するクエリにバインドして、フォームにテキストボックスとボタンが含まれるようにします。テキストボックスに学生IDを入力してボタンをクリックすると、テーブルから特定のレコードを取得し、レシートの形式でレポートビューアに表示する必要があります。私はReportViewerを使用したことがないので、例を提供してくれるか、管理できると思う大まかな青写真を書いていただければ、どこから始めればよいのかわかりません。

ありがとう

4

2 に答える 2

1

ReportViewer は、バインドされたデータではなく、レポートを表示します。領収書を表示するには、.rdl または .rdlc ファイルを作成する必要があります (WinForms と WebForms のどちらで作業しているかによって異なります)。

レポート定義は、.rdl または .rdlc ファイルに保存されます。クエリ定義を .rdl ファイルに保存すると、レポートを表示するときに実行されます。プロンプトを表示できるクエリおよびレポートのパラメータを設定できます。

さらに、詳細は、これが WinForms レポートか WebForms レポートかによって異なります。

于 2012-09-18T11:37:14.927 に答える
0

ただし、このようにバインドするためのヒントを提供できますLocal Report。この例では、パラメーターFromDateを受け入れ、 ToDateand を使用してそれに応じてデータをフェッチしEntiyDataSourceます。

page.aspx

 <rsweb:ReportViewer ID="ReportViewer1" runat="server"
 Height="600px" SizeToReportContent="True"
        Width="800px" Font-Names="Verdana" Font-Size="8pt" InteractiveDeviceInfos="(Collection)"
        WaitMessageFont-Names="Verdana" WaitMessageFont-Size="14pt">
        <LocalReport ReportPath="Report.rdlc">
            <DataSources>
                <rsweb:ReportDataSource DataSourceId="ObjectDataSource1" Name="DataSet1" />
            </DataSources>
        </LocalReport>
    </rsweb:ReportViewer>
    <asp:EntityDataSource ID="EntityDataSource2" runat="server" 
        ConnectionString="name=FooEntities" DefaultContainerName="FooContainerEntities" 
        EnableFlattening="False" EntitySetName="Foo_table">
    </asp:EntityDataSource>
    <asp:EntityDataSource ID="EntityDataSource1" runat="server">
    </asp:EntityDataSource>
    <asp:ObjectDataSource ID="ObjectDataSource1" runat="server" 
        SelectMethod="GetList" TypeName="model">
        <SelectParameters>
            <asp:Parameter DefaultValue="" Name="dateFrom" Type="DateTime"></asp:Parameter>
            <asp:Parameter DefaultValue="" Name="dateTo" Type="DateTime"></asp:Parameter>
        </SelectParameters>
    </asp:ObjectDataSource>

コードビハインド

protected void Button1_Click(object sender, EventArgs e)
{
    List<ListData> listData = new List<ListData>();
    DateTime dateFrom = Convert.ToDateTime(TextBox1.Text.Trim());
    DateTime dateTo = Convert.ToDateTime(TextBox2.Text.Trim());
    ReportViewer1.LocalReport.ReportPath = "Report.rdlc";
    ReportParameter[] reportParameter = new ReportParameter[2];
    reportParameter[0] = new ReportParameter("dateFrom", dateFrom.ToShortDateString());
    reportParameter[1] = new ReportParameter("dateTo", dateTo.ToShortDateString());
    ReportViewer1.LocalReport.SetParameters(reportParameter);
    ReportViewer1.LocalReport.Refresh();       

}
于 2012-09-18T11:37:45.157 に答える