How to implement sorting using Repeater

Platform: ASP.NET| Category: Repeater

<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);
} 

Share with

Related FAQs

Couldn't find the FAQs you're looking for?

Please submit your question and answer.