Mega Code Archive

 
Categories / ASP.Net / Data Binding
 

Adding multicolumn sorting to the GridView (VB)

<%@ Page Language="VB" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <script runat="server">     Protected Sub GridView1_Sorting(ByVal sender As Object, ByVal e As GridViewSortEventArgs)              Dim oldExpression As String = GridView1.SortExpression         Dim newExpression As String = e.SortExpression         If (oldExpression.IndexOf(newExpression) < 0) Then             If (oldExpression.Length > 0) Then                 e.SortExpression = newExpression & "," & oldExpression             Else                 e.SortExpression = newExpression             End If         Else             e.SortExpression = oldExpression         End If     End Sub </script> <html xmlns="http://www.w3.org/1999/xhtml" > <head runat="server">     <title>Untitled Page</title> </head> <body>     <form id="form1" runat="server">     <div>         <asp:GridView ID="GridView1" Runat="server" DataSourceID="SqlDataSource1"              DataKeyNames="CustomerID" AutoGenerateColumns="False"              AllowSorting="True" OnSorting="GridView1_Sorting">             <Columns>                 <asp:BoundField ReadOnly="True" HeaderText="CustomerID"                      DataField="CustomerID"                      SortExpression="CustomerID"></asp:BoundField>                 <asp:BoundField HeaderText="CompanyName" DataField="CompanyName"                      SortExpression="CompanyName"></asp:BoundField>                 <asp:BoundField HeaderText="ContactName" DataField="ContactName"                      SortExpression="ContactName"></asp:BoundField>                 <asp:BoundField HeaderText="ContactTitle" DataField="ContactTitle"                      SortExpression="ContactTitle"></asp:BoundField>                 <asp:BoundField HeaderText="Address" DataField="Address"                      SortExpression="Address"></asp:BoundField>                 <asp:BoundField HeaderText="City" DataField="City"                      SortExpression="City"></asp:BoundField>                 <asp:BoundField HeaderText="Region" DataField="Region"                      SortExpression="Region"></asp:BoundField>                 <asp:BoundField HeaderText="PostalCode" DataField="PostalCode"                      SortExpression="PostalCode"></asp:BoundField>                 <asp:BoundField HeaderText="Country" DataField="Country"                       SortExpression="Country"></asp:BoundField>                 <asp:BoundField HeaderText="Phone" DataField="Phone"                       SortExpression="Phone"></asp:BoundField>                 <asp:BoundField HeaderText="Fax" DataField="Fax"                       SortExpression="Fax"></asp:BoundField>             </Columns>         </asp:GridView>         <asp:SqlDataSource ID="SqlDataSource1" Runat="server"             SelectCommand="SELECT * FROM [Customers]"              ConnectionString="<%$ ConnectionStrings:AppConnectionString1 %>"             DataSourceMode="DataSet"             ConflictDetection="CompareAllValues" EnableCaching="True"             CacheKeyDependency="MyKey" CacheDuration="Infinite">         </asp:SqlDataSource>     </div>     </form> </body> </html> File: Web.config <configuration>   <appSettings/>   <connectionStrings>         <add name="AppConnectionString1"               connectionString="Data Source=localhost\SQLEXPRESS;Initial Catalog=Northwind;Integrated Security=True"              providerName="System.Data.SqlClient" />     </connectionStrings>   <system.web>     <compilation debug="true" strict="false" explicit="true">       <codeSubDirectories>         <add directoryName="VB"></add>         <add directoryName="CS"></add>       </codeSubDirectories>     </compilation>     <pages>       <namespaces>         <clear/>         <add namespace="System"/>         <add namespace="System.Collections"/>         <add namespace="System.Collections.Specialized"/>         <add namespace="System.Configuration"/>         <add namespace="System.Text"/>         <add namespace="System.Text.RegularExpressions"/>         <add namespace="System.Web"/>         <add namespace="System.Web.Caching"/>         <add namespace="System.Web.SessionState"/>         <add namespace="System.Web.Security"/>         <add namespace="System.Web.Profile"/>         <add namespace="System.Web.UI"/>         <add namespace="System.Web.UI.WebControls"/>         <add namespace="System.Web.UI.WebControls.WebParts"/>         <add namespace="System.Web.UI.HtmlControls"/>       </namespaces>     </pages>     <authentication mode="Windows"></authentication>     <identity impersonate="true"/>   </system.web> </configuration>