2012-11-09 53 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的基础上下拉列表选择