我刚开始使用ASP.NET和Visual Studio 2008.我想创建一些相当简单的东西,但我还不知道如何处理它。
我可以访问我想用来创建报表界面的Oracle表。为简单起见,我们假设该表只有三列:
现在,建议的ASP.NET接口只有两个组件:
DropDownList将允许用户选择日期(例如11/8/2012)。然后,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执行此操作?或者我必须以编程方式执行此操作吗?我应该参考的任何建议或资源?
谢谢!
答案 0 :(得分:1)
1)确保下拉列表的AutoPostBack属性设置为true
2)将dropdownlist1_selectedindexchanged事件添加到您的代码中,并根据下拉列表选择添加代码以填充DataGrid
答案 1 :(得分: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的wrold和stackoverflow!