簡體   English   中英

如何過濾 C# .net 客戶端中的記錄?

[英]How can I filter the records in C# .net client side?

只是徘徊,我可以在C# .net 客戶端過濾記錄嗎?

示例:我在 c# .net 中編寫了以下頁面在此處輸入圖片說明

使用以下代碼:

<table>
    <tr>
        <td colspan="2">
            <table>
                <tr>
                    <td><asp:CheckBox runat="server" ID="chkRework" />Rework Required</td>
                    <td style="padding-left:50px;"><asp:CheckBox runat="server" ID="chkPending" />Pending</td>
                    <td style="padding-left:50px;"><asp:CheckBox runat="server" ID="chkInvoiced" />Invoiced</td>
                    <td style="padding-left:50px;"><asp:CheckBox runat="server" ID="chkCancelled" />Cancelled</td>
                </tr>

            </table>
        </td>
    </tr>
  </table>

  <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" Width="810px"
    DataSourceID="dsContractor" DataKeyNames="rep_id" 
    CellPadding="4" ForeColor="#333333" GridLines="None" AllowPaging="True" PageSize="23" AllowSorting="True">
    <Columns>
      <asp:TemplateField HeaderText="Name" SortExpression="first_name" HeaderStyle-HorizontalAlign="Left">
        <ItemTemplate>
          <a id="A1" runat="server" href='<%# string.Format("Controls/pgContractorDetails.aspx?ixPerson={0}", Eval("person_id")) %>'>
            <%# Eval("first_name") + " " + Eval("last_name")%></a>
        </ItemTemplate>
      </asp:TemplateField>
      <asp:BoundField DataField="rep_id" HeaderText="Rep ID" SortExpression="rep_id"  HeaderStyle-HorizontalAlign="Left"/>
      <asp:TemplateField HeaderText="Team Name" SortExpression="team_name" HeaderStyle-HorizontalAlign="Left">
        <ItemTemplate>
          <a id="A1" runat="server" href='<%# string.Format("Controls/pgTeamDetails.aspx?ixTeam={0}", Eval("team_id")) %>'>
            <%# Eval("team_name")%></a>
        </ItemTemplate>
      </asp:TemplateField>

      <asp:BoundField DataField="campaign_name" HeaderText="Campaign" HeaderStyle-HorizontalAlign="Left" SortExpression="campaign_name" />
      <asp:BoundField DataField="state" HeaderText="State" HeaderStyle-HorizontalAlign="Left" SortExpression="state" />
      <asp:BoundField DataField="status_desc" HeaderText="Status" HeaderStyle-HorizontalAlign="Left" SortExpression="status_desc" />
    </Columns>
    <PagerStyle BackColor="#003399" ForeColor="White" HorizontalAlign="Center" />
    <HeaderStyle CssClass="ui-widget-header" ForeColor="black" HorizontalAlign="Right" />
    <RowStyle BackColor="#F7F6F3" ForeColor="#333333" />
    <AlternatingRowStyle BackColor="White" ForeColor="#284775" />
    <EmptyDataTemplate>
      Nothing found.
    </EmptyDataTemplate>
  </asp:GridView>
  <asp:SqlDataSource ID="dsContractor" runat="server" ConnectionString="<%$ ConnectionStrings:DbConnectionString %>"
    SelectCommand="app_contractor_list_search" SelectCommandType="StoredProcedure" CancelSelectOnNullParameter="true">
    <SelectParameters>
      <asp:ControlParameter Name="searchterm" Type="String" ControlID="sQuery" PropertyName="Text" DefaultValue="*" />
    </SelectParameters>
  </asp:SqlDataSource>

當我點擊 Pending 復選框時,它會過濾掉所有狀態不是 Pending 的記錄嗎?

您可以使用 javascript 隱藏行。 這是取自一個簡單示例的代碼。

<script type="text/javascript">
function Search_Gridview(strKey, strGV) {
    var strData = strKey.value.toLowerCase().split(" ");
    var tblData = document.getElementById(strGV);
    var rowData;
    for (var i = 1; i < tblData.rows.length; i++) {
        rowData = tblData.rows[i].innerHTML;
        var styleDisplay = 'none';
        for (var j = 0; j < strData.length; j++) {
            if (rowData.toLowerCase().indexOf(strData[j]) >= 0)
                styleDisplay = '';
            else {
                styleDisplay = 'none';
                break;
            }
        }
        tblData.rows[i].style.display = styleDisplay;
    }
}    

代碼來自此頁面。 http://www.codescratcher.com/javascript/search-gridview-using-javascript/

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM