ASP.NET(vb.net) & DataGrid - AllowSorting Example scripts how to Explains DataGrid control in asp.net , The DataGrid.AllowSorting ets or sets a value indicating whether the sorting feature is enabled.
ShotDev Focus:
- ASP.NET(vb.net) & DataGrid - AllowSorting
Example
DataGridAllowSorting.aspx
<%@ import Namespace="System.Data" %> <%@ import Namespace="System.Data.OleDb" %> <%@ Page Language="VB" %> <script runat="server"> Dim strFields As String = "CustomerID" Sub Page_Load(sender As Object, e As EventArgs) IF Not Page.IsPostBack() Then BindData() End IF End Sub Sub BindData() Dim objConn As New OleDbConnection Dim objCmd As New OleDbCommand Dim dtAdapter As New OleDbDataAdapter Dim ds As New DataSet Dim strConnString,strSQL As String strConnString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&Server.MapPath("database/mydatabase.mdb")&";" strSQL = "SELECT * FROM customer ORDER BY " & strFields & " ASC" objConn.ConnectionString = strConnString With objCmd .Connection = objConn .CommandText = strSQL .CommandType = CommandType.Text End With dtAdapter.SelectCommand = objCmd dtAdapter.Fill(ds) '*** BindData to DataGrid ***' myDataGrid.DataSource = ds myDataGrid.DataBind() dtAdapter = Nothing objConn.Close() objConn = Nothing End Sub Sub SortCommand(sender As Object, e As DataGridSortCommandEventArgs) strFields = e.SortExpression BindData() End Sub Private Sub myDataGrid_ItemDataBound(sender As Object, e As DataGridItemEventArgs) '*** CustomerID ***' Dim lblCustomerID As Label = CType(e.Item.FindControl("lblCustomerID"),Label) IF Not IsNothing(lblCustomerID) Then lblCustomerID.Text = e.Item.DataItem("CustomerID") End IF '*** Name ***' Dim lblName As Label = CType(e.Item.FindControl("lblName"),Label) IF Not IsNothing(lblName) Then lblName.Text = e.Item.DataItem("Name") End IF '*** Email ***' Dim lblEmail As Label = CType(e.Item.FindControl("lblEmail"),Label) IF Not IsNothing(lblEmail) Then lblEmail.Text = e.Item.DataItem("Email") End IF '*** CountryCode ***' Dim lblCountryCode As Label = CType(e.Item.FindControl("lblCountryCode"),Label) IF Not IsNothing(lblCountryCode) Then lblCountryCode.Text = e.Item.DataItem("CountryCode") End IF '*** Budget ***' Dim lblBudget As Label = CType(e.Item.FindControl("lblBudget"),Label) IF Not IsNothing(lblBudget) Then lblBudget.Text = FormatNumber(e.Item.DataItem("Budget"),2) End IF '*** Used ***' Dim lblUsed As Label = CType(e.Item.FindControl("lblUsed"),Label) IF Not IsNothing(lblUsed) Then lblUsed.Text = FormatNumber(e.Item.DataItem("Used"),2) End IF End Sub </script> <html> <head> <title>ShotDev.Com Tutorial</title> </head> <body> <form id="form1" runat="server"> <asp:DataGrid id="myDataGrid" runat="server" AllowSorting="True" onSortCommand="SortCommand" AutoGenerateColumns="False" onItemDataBound="myDataGrid_ItemDataBound"> <Columns> <asp:TemplateColumn SortExpression="CustomerID" HeaderText="CustomerID"> <ItemTemplate> <asp:Label id="lblCustomerID" runat="server"></asp:Label> </ItemTemplate> </asp:TemplateColumn> <asp:TemplateColumn SortExpression="Name" HeaderText="Name"> <ItemTemplate> <asp:Label id="lblName" runat="server"></asp:Label> </ItemTemplate> </asp:TemplateColumn> <asp:TemplateColumn SortExpression="Email" HeaderText="Email"> <ItemTemplate> <asp:Label id="lblEmail" runat="server"></asp:Label> </ItemTemplate> </asp:TemplateColumn> <asp:TemplateColumn SortExpression="CountryCode" HeaderText="CountryCode"> <ItemTemplate> <asp:Label id="lblCountryCode" runat="server"></asp:Label> </ItemTemplate> </asp:TemplateColumn> <asp:TemplateColumn SortExpression="Budget" HeaderText="Budget"> <ItemTemplate> <asp:Label id="lblBudget" runat="server"></asp:Label> </ItemTemplate> </asp:TemplateColumn> <asp:TemplateColumn SortExpression="Used" HeaderText="Used"> <ItemTemplate> <asp:Label id="lblUsed" runat="server"></asp:Label> </ItemTemplate> </asp:TemplateColumn> </Columns> </asp:DataGrid> </form> </body> </html>
Create a asp.net file and save to path root-path/dotnet/
Run
http://localhost/dotnet/DataGridAllowSorting.aspx
Screenshot