2012-11-09 307 views
1

我剛開始使用ASP.NET和Visual Studio 2008.我想創建一些相當簡單的東西,但我不知道如何處理它。從數據庫列填充DropDownList,使用DropDownList值來填充表?

我訪問,我想利用創建報表接口的Oracle表。爲簡單起見,我們假設這個表只有三列:

  1. REPORT_DATE
  2. SUCCESSES
  3. FAILURES

現在,所提出的ASP.NET界面只會有兩個組成部分:

  1. DropDownList
  2. GridView(or tab le,以較簡單的爲準)

DropDownList將允許用戶選擇日期(例如, 2012年11月8日)。 GridView將根據用戶選擇進行填充。它將顯示除「REPORT_DATE」以外的所有列。在這種假設情況下,GridView將顯示「SUCCESSES」和「FAILURES」。從本質上講,它會遵循這條SQL語句:

SELECT * FROM MyTable WHERE REPORT_DATE=insertSelectedReportDateHere; 

到目前爲止,我已經成功地填充了使用Visual Studio的GUI REPORT_DATE將DropDownList連接到我的數據庫和表。但是,我不確定如何基於我的選擇實現GridView的總體。我認爲這將需要對AJAX進行硬編碼,但我不確定Visual Studio的GUI有多強大。

有沒有辦法使用GUI來做到這一點?或者我必須以編程的方式執行它?我應該參考的任何建議或資源?

謝謝!

回答

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!

1

1)讓您的下拉列表中肯定AutoPostBack屬性設置爲true

2)添加dropdownlist1_selectedindexchanged事件代碼,並在此添加代碼來填充DataGrid的基礎上下拉列表選擇