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