2013-03-28 50 views
1

我有一個下拉列表,像這樣來顯示GridView的數據:如何根據下拉列表中選擇

<asp:DropDownList ID="ddlPortal2" runat="server" AutoPostBack="True"> 
     <asp:ListItem>Select</asp:ListItem> 
     <asp:ListItem>TRAVELONG</asp:ListItem> 
     <asp:ListItem>ONETRAVEL</asp:ListItem> 
    </asp:DropDownList> 

與SqlConnection的網格視圖:

<asp:GridView ID="GridView1" runat="server" CellPadding="4" ForeColor="#333333" 
     GridLines="None" onrowcommand="GridView1_RowCommand" 
     AutoGenerateColumns="False"> 
     <Columns> 
     <asp:BoundField DataField="Portal" HeaderText="Portal" /> 
     <asp:BoundField DataField="TID" HeaderText="TID" /> 
     <asp:BoundField DataField="PNR" HeaderText="PNR" /> 
     <asp:BoundField DataField="TicketNumber" HeaderText="Ticket Number" /> 
     <asp:BoundField DataField="ESACCode" HeaderText="ESACCode" /> 
     <asp:BoundField DataField="WaiverCode" HeaderText="WaiverCode" /> 
     <asp:BoundField DataField="Remarks" HeaderText="Remarks" /> 
     <asp:BoundField DataField="UnusedTicketAmount" HeaderText="UnusedTicketAmount" /> 
     <asp:BoundField DataField="ddlUnusedAmount" HeaderText="ddlUnusedAmount" /> 
     <asp:BoundField DataField="AirlinePenality" HeaderText="AirlinePenality" /> 
     <asp:BoundField DataField="ddlAirlinePenality" HeaderText="ddlAirlinePenality" /> 
     <asp:BoundField DataField="NetRefundProcess" HeaderText="NetRefundProcess" /> 
     <asp:BoundField DataField="ddlNetRefundProcess" HeaderText="ddlNetRefundProcess" /> 
     <asp:BoundField DataField="RefundableCommission" HeaderText="RefundableCommission" /> 
     <asp:BoundField DataField="ddlRefundableCommission" HeaderText="ddlRefundableCommission" /> 
     <asp:BoundField DataField="CouponRefunded" HeaderText="CouponRefunded" /> 
     <asp:BoundField DataField="RefundType" HeaderText="RefundType" /> 
    </Columns>  
<asp:SqlDataSource ID="SqlDataSource1" runat="server" 
     ConnectionString="<%$ ConnectionStrings:BartConnectionString %>" 
     SelectCommand="SELECT select * [Test]"> 
     </asp:SqlDataSource> 

現在,當我選擇Travelong從我的下拉列表中按下搜索按鈕,所有數據顯示在gridview中,任何人都可以告訴我該怎麼做。 我怎麼能做到這一點 由於事先

回答

1

可以使用的SqlDataSource的SqlDataSource.FilterExpression Property

+0

你能通過代碼解釋什麼查詢我必須在我的搜索按鈕上觸發,以便數據表被填充,並且我可以將該數據表與我的gridview綁定。 – amitesh 2013-03-28 07:41:04

1

使用SelectParameters財產

<asp:DropDownList ID="ddlPortal2" runat="server" AutoPostBack="True"> 
    <asp:ListItem>Select</asp:ListItem> 
    <asp:ListItem>TRAVELONG</asp:ListItem> 
    <asp:ListItem>ONETRAVEL</asp:ListItem> 
</asp:DropDownList> 

<asp:SqlDataSource ID="SqlDataSource1" runat="server" 
    ConnectionString="<%$ ConnectionStrings:BartConnectionString %>" 
    SelectCommand="SELECT select * [Test] WHERE Portal = @Portal""> 
     <selectparameters> 
      <asp:controlparameter name="Portal" controlid="ddlPortal2" propertyname="SelectedValue"/> 
     </selectparameters> 
    </asp:sqldatasource> 

Reference

+2

「Select select?請問 – amitesh 2013-03-28 08:03:29

+0

請通過提供的鏈接,這是有用的樣本。 http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.sqldatasource.selectparameters.aspx – 2013-03-28 08:13:50

+0

不工作花花公子 – amitesh 2013-03-28 09:06:27

0

我得到了我的答案

DataSet ds = new DataSet(); 
    SqlDataAdapter da = new SqlDataAdapter(); 
    SqlConnection con; 
    if (ddlPortal2.SelectedIndex != 0) 
    { 
     con = new SqlConnection("Data Source=.;Initial Catalog=Bart;Integrated Security=True"); 
     con.Open(); 
     da = new SqlDataAdapter("select * from Test where Portal='"+ddlPortal2.SelectedValue+"' and CONVERT(VARCHAR(25), [DateTime], 101) between '" + tbFrom.Text + "' and '" + tbTo.Text + "'", con); 
     da.Fill(ds); 
     GridView1.DataSource = ds.Tables[0]; 
     GridView1.DataBind(); 
     con.Close(); 
    } 
    else if (ddlPortal2.SelectedValue == "All") 
    { 
     SqlConnection conn = new SqlConnection("Data Source=.;Initial Catalog=Bart;Integrated Security=True"); 
     conn.Open(); 
     da = new SqlDataAdapter("Select * from Test where Portal=Portal", conn); 
     da.Fill(ds); 
     GridView1.DataSource = ds.Tables[0]; 
     GridView1.DataBind(); 
     conn.Close(); 
    } 
+0

使用選擇參數爲您的SQL數據源。您不必編寫所有這些管道代碼。 – 2013-03-29 17:16:05

相關問題