• Sample Code: Bidirectional Sorting in ASP.NET Repeater control


    .aspx

    <asp:Repeater ID="Repeater1" Runat="server" EnableViewState="False">
     <ItemTemplate>
     <table width="100%" cellspacing="0" cellpadding="0">
     <tr>
      <td  width=25%><%# DataBinder.Eval(Container.DataItem, "Employeeid") %></td>
      <td width=25% ><%# DataBinder.Eval(Container.DataItem, "FirstName") %></td>
      <td width=25% ><%# DataBinder.Eval(Container.DataItem, "LastName") %></td>
      <td width=25% ><%# DataBinder.Eval(Container.DataItem, "Title") %></td>
     </tr>
     </table>
     </ItemTemplate>
     <HeaderTemplate>
     <table width="100%" cellspacing="0" cellpadding="0">
     <tr>
      <td width=25%>
      <asp:LinkButton ID="lnkEmployeeid" Runat="server" OnClick="SortEmployeeIdClick">Employeeid</asp:LinkButton>
      </td>
      <td width=25%>
      <asp:LinkButton ID="lnkFirstName" Runat="server" OnClick="SortFirstNameClick">FirstName</asp:LinkButton>
      </td>
      <td width=25%>
      <asp:LinkButton ID="lnkLastName" Runat="server" OnClick="SortLastNameClick">LastName</asp:LinkButton>
      </td>
      <td width=25% >
      <asp:LinkButton ID="lnkTitle" Runat="server" OnClick="SortTitleClick">Title</asp:LinkButton>
      </td>
     </tr>
     </table>
     </HeaderTemplate>
    </asp:Repeater>

    VB.NET

    Dim SortField As String
    Dim myconnection As SqlConnection
    Dim myda As SqlDataAdapter
    Dim ds As DataSet
    Dim strConn As String
    Dim SQLStmt As String = "Select * from Employees  "

    Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
            ’ Put user code to initialize the page here
             BindData()
    End Sub ’Page_Load

    Sub BindData()
             strConn = "Server=localhost;uid=sa;password=;database=northwind;"
             myconnection = New SqlConnection(strConn)
             myda = New SqlDataAdapter(SQLStmt, myconnection)
             ds = New DataSet
             myda.Fill(ds, "AllTables")
             Repeater1.DataSource = ds
             Repeater1.DataBind()
    End Sub ’BindData

    Sub SortData(ByVal SortExpression As String)
             If ViewState("SortOrder") Is Nothing Then
                  ViewState("SortOrder") = " ASC"
             Else
                  If ViewState("SortOrder").ToString() = " ASC" Then
                      ViewState("SortOrder") = " DESC"
                  Else
                      ViewState("SortOrder") = " ASC"
                  End If
             End If
             SQLStmt = SQLStmt + " ORDER BY " + SortExpression.ToString() + " " + ViewState("SortOrder")
     BindData()
    End Sub ’SortData

    Protected Sub SortEmployeeIdClick(ByVal sender As Object, ByVal e As EventArgs)
             SortField = "EmployeeId"
             SortData(SortField)
    End Sub ’SortEmployeeIdClick

    Protected Sub SortFirstNameClick(ByVal sender As Object, ByVal e As EventArgs)
             SortField = "FirstName"
             SortData(SortField)
    End Sub ’SortFirstNameClick

    Protected Sub SortLastNameClick(ByVal sender As Object, ByVal e As EventArgs)
             SortField = "LastName"
             SortData(SortField)
    End Sub ’SortLastNameClick

    Protected Sub SortTitleClick(ByVal sender As Object, ByVal e As EventArgs)
             SortField = "Title"
             SortData(SortField)
    End Sub ’SortTitleClick

    C#
    string SortField;
    SqlConnection myconnection ;
    SqlDataAdapter myda ;
    DataSet ds ;
    String strConn ;
    string SQLStmt= "Select * from Employees  ";

    private void Page_Load(object sender, System.EventArgs e)
    {
     // Put user code to initialize the page here
     BindData();
    }

    void BindData()

     strConn = "Server=localhost;uid=sa;password=;database=northwind;";
     myconnection =new SqlConnection(strConn);
     myda = new SqlDataAdapter(SQLStmt, myconnection);
     ds = new DataSet();
     myda.Fill(ds, "AllTables");
     Repeater1.DataSource = ds;
     Repeater1.DataBind();
    }

    void SortData(string SortExpression)
    {
     if (ViewState["SortOrder"] ==null)
     {
      ViewState["SortOrder"] = " ASC";
     }
     else if (ViewState["SortOrder"].ToString () == " ASC" )
     {
      ViewState["SortOrder"] = " DESC";
     }
     else
     {
      ViewState["SortOrder"] = " ASC";
     }
     SQLStmt = SQLStmt + " ORDER BY " + SortExpression.ToString () + " " + ViewState["SortOrder"];
     BindData();
    }

    protected void SortEmployeeIdClick(object  sender  ,EventArgs   e   )
    {
     SortField = "EmployeeId";
     SortData  (SortField);
    }

    protected void SortFirstNameClick(object  sender  ,EventArgs   e   )
    {
     SortField = "FirstName";
     SortData  (SortField);
    }

    protected void SortLastNameClick(object  sender  ,EventArgs   e   )
    {
     SortField = "LastName";
     SortData  (SortField);
    }

    protected void SortTitleClick(object  sender  ,EventArgs   e   )
    {
     SortField = "Title";
     SortData  (SortField);
    }

  • 相关阅读:
    repair grub in Ubuntu
    DNS attack experiment
    新闻随感(摩托罗拉125亿被Google收购)
    成为C++高手必须要看的书
    nginx
    Nginx Pitfalls
    gcc/gdb
    python 删除文件
    Solve nginx Error 413 Request Entity Too Large
    Solve Nginx Error 413: Request Entity Too Large
  • 原文地址:https://www.cnblogs.com/goody9807/p/1257460.html
Copyright © 2020-2023  润新知