【问题标题】:How can I filter the records in C# .net client side?如何过滤 C# .net 客户端中的记录?
【发布时间】:2016-05-02 04:19:15
【问题描述】:

只是闲逛,那我可以在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>

当我点击待处理复选框时,它会过滤掉所有状态不是待处理的记录吗?

【问题讨论】:

  • 如果复选框应该是客户端,我会先删除复选框上的runat="server" ;)。然后只需编写一些过滤行的javascript即可。
  • 有可能,您可以尝试其中一种或自己制作它们,它们还不够,stackoverflow.com/questions/4031781/…
  • 请参阅dotnetprof.blogspot.in/2012/08/…。您可以轻松更改 JS 搜索功能以接受要在其中搜索的列和文本。

标签: c# asp.net .net


【解决方案1】:

您可以使用 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/

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-01-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多