1

ASP.NETとVisualStudio2008を使い始めたばかりです。かなり簡単なものを作成したいのですが、その方法がまだわかりません。

レポートインターフェイスを作成するために利用したいOracleテーブルにアクセスできます。簡単にするために、このテーブルには3つの列しかないと仮定します。

  1. REPORT_DATE
  2. 成功
  3. 失敗

現在、提案されているASP.NETインターフェイスには2つのコンポーネントしかありません。

  1. ドロップダウンリスト
  2. GridView(またはテーブルのどちらか簡単な方)

DropDownListを使用すると、ユーザーは日付を選択できます(例:2012年11月8日)。次に、GridViewはユーザーの選択に基づいてデータを入力します。「REPORT_DATE」を除くすべての列が表示されます。この架空のシナリオでは、GridViewに「SUCCESSES」と「FAILURES」が表示されます。基本的に、次のSQLステートメントに従います。

SELECT * FROM MyTable WHERE REPORT_DATE=insertSelectedReportDateHere;

これまでのところ、Visual StudioのGUIを使用してDropDownListにREPORT_DATEを正常に入力し、データベースとテーブルに接続しています。ただし、選択に基づいてGridViewの母集団を実装する方法がわかりません。これにはハードコーディングされたAJAXが必要になると思いますが、VisualStudioのGUIがどれほど強力かはわかりませんでした。

GUIを使用してこれを行う方法はありますか?それともプログラムで行う必要がありますか?参照すべき提案やリソースはありますか?

ありがとうございました!

4

2 に答える 2

1

これは、プログラムで実行することなく実行できます。

        <asp:SqlDataSource
            ID="dropDownDS"
            runat="server"
            ConnectionString="<%$ ConnectionStrings:connectionString %>"
            SelectCommand="select distinct reportdate from reports"></asp:SqlDataSource>
        <asp:DropDownList ID="ddlReports" runat="server"
            AutoPostBack="True"
            DataSourceID="dropDownDS"
            DataTextField="reportdate"
            DataValueField="reportdate" />
        <asp:SqlDataSource ID="gridDS"
            runat="server"
            ConnectionString="<%$ ConnectionStrings:connectionString %>"
            SelectCommand="SELECT * FROM Reports WHERE ReportDate = @ReportDate">
            <SelectParameters>
                <asp:ControlParameter ControlID="ddlReports" Name="reportdate" PropertyName="SelectedValue" />
            </SelectParameters>
        </asp:SqlDataSource>
        <asp:GridView ID="gvReports"
            runat="server"
            AutoGenerateColumns="False"
            DataKeyNames="ReportId"
            DataSourceID="gridDS">
            <Columns>
                <asp:BoundField DataField="ReportId" HeaderText="ReportId" Visible="False" />
                <asp:BoundField DataField="ReportDate" HeaderText="ReportDate" />
                <asp:BoundField DataField="Successes" HeaderText="Successes" />
                <asp:BoundField DataField="Failures" HeaderText="Failures" />
            </Columns>
        </asp:GridView>

ASP.NEtの大失敗とstackoverflowへようこそ!

于 2012-11-10T16:57:45.507 に答える
1

1) ドロップダウンの AutoPostBack プロパティが true に設定されていることを確認してください

2) dropdownlist1_selectedindexchanged イベントをコードに追加し、ドロップダウンリストの選択に基づいて DataGrid を埋めるコードを追加します。

于 2012-11-09T19:01:00.057 に答える