0

データがテキストボックスに入力されたときに、ドロップダウンリスト、fromdate、およびtodateに基づいてグリッドビューにデータを表示する必要があります。どうやってやるの?これまでに行ったことは、2 つのページを作成したことです。最初のページには、ドロップダウン リストとフォームがあります。ドロップダウン リストから値を選択すると、選択した値のフォームが表示され、ユーザーはそのフォームに詳細を入力して送信できます。データベースにデータ ストアを送信した後。2番目のページには、保存された値が表示されるグリッドビュー、ドロップダウンリスト、日付から日付までのテキストボックスがあり、ドロップダウンの選択に基づいてグリッドビューにレコードを表示する必要があります。

2 番目のフォームのコード:

<asp:DropDownList ID="ddlPortal" runat="server" AutoPostBack="True" 
       onselectedindexchanged="ddlPortal_SelectedIndexChanged">
       <asp:ListItem>TRAVELONG</asp:ListItem>
       <asp:ListItem>ONETRAVEL</asp:ListItem>
       <asp:ListItem>.UK-BSP</asp:ListItem>
       <asp:ListItem>.CA-YYZ</asp:ListItem>
       <asp:ListItem>.CA-YVR</asp:ListItem>
       <asp:ListItem>Partial MCO Refund</asp:ListItem>
   </asp:DropDownList>
   <asp:Label ID="lbFrom" Text="From" runat="server" />&nbsp;<asp:TextBox ID="tbFrom" runat="server" />
    &nbsp;<asp:Label ID="lblto" Text="To" runat="server" />&nbsp;<asp:TextBox ID="tbTo" runat="server" />
    &nbsp;<asp:Button ID="btnSearch" runat="server" Text="Search" 
    onclick="btnSearch_Click" />

グリッドビューの詳細:

 <asp:GridView ID="GridView1" runat="server" CellPadding="4" ForeColor="#333333" 
        GridLines="None" onrowcommand="GridView1_RowCommand" 
        AutoGenerateColumns="False">
        <Columns>
       <asp:TemplateField HeaderText="Query">
            <itemtemplate>
            <asp:LinkButton CommandName="cmdBind"  runat="server"  Text='<%#Eval("ID")%>' ID="ID" ToolTip='<%#Eval("ID")%>'>LinkButton
            </asp:LinkButton>                                                                   
            </itemtemplate>
            </asp:TemplateField>
       <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>       

ボタンのクリックイベントでコードを書きたいのですが、方法がわかりません。これについて私を助けてもらえますか?

.cs ファイル:

protected void btnSearch_Click(object sender, EventArgs e)
{

}  
4

1 に答える 1

0

GridViewのバインドにDataTableを使用している場合は、データをフィルタリングして、GridViewを再度バインドできます。

次を使用できます。DataView.RowFilterデータをフィルタリングするためのプロパティ。

例えば。:

DataTable dt= GetData();
DataView dv = dt.DefaultView;
dv.RowFilter = "Portal= '" + ddlPortal.SelectedValue.Trim() + "'" 
GridView1.DataSource=dv;
GridView1.DataBind();

また、LINQを使用してデータをフィルタリングできます。

DataTable dt= GetData();
EnumerableRowCollection<DataRow> query =
    from row in dt.AsEnumerable()
    where row.Field<String>("Portal") == ddlPortal.SelectedValue.Trim()
    select row;

DataView dv = query.AsDataView();
GridView1.DataSource=dv;
GridView1.DataBind();
于 2013-03-20T11:22:34.797 に答える