Can I specify ItemStyle to a Repeater Control

The Repeater class is not derived from the WebControl class, like the DataGrid and DataList. Therefore, the Repeater lacks the stylistic properties common to both the DataGrid and DataList. What this boils down to is that if you want to format the data displayed in the Repeater, you must do so in the HTML markup. i.e using <b>/<u>.. tags

How to implement sorting using 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); }

How to change the row color of the Repeater based on some condition

<asp:Repeater ID=’Repeater1′ Runat=’server’ EnableViewState=’False’> <HeaderTemplate> <table> </HeaderTemplate> <ItemTemplate> <tr <%# FormatColorRow(DataBinder.Eval(Container.DataItem,’UnitPrice’).ToString()) %> > <td > <%# DataBinder.Eval(Container.DataItem,’UnitPrice’).ToString() %> </td> </ItemTemplate> <FooterTemplate> </table> </FooterTemplate> </asp:Repeater> VB.NET Protected Function FormatColorRow(strUnitPrice As String) As String Dim unitprice As Double = Double.Parse(strUnitPrice) If unitprice <= 15 Then Return ‘style=’backGround-color:red’’ Else Return ‘style=’backGround-color:green’’ End If End Function ’FormatColorRow C# protected string FormatColorRow(string strUnitPrice) { double unitprice =double.Parse ( strUnitPrice); if ( unitprice <= 15) { return ‘style=’backGround-color:red’’; } else { return ‘style=’backGround-color:green’’; } }

How to use a RangeValidator to select Colors from a specific range

<asp:dropdownlist id=’DropDownList1′ runat=’server’> <asp:ListItem Value =’#000000′>#000000</asp:ListItem> <asp:ListItem Value =’#ff0000′>#ff0000</asp:ListItem> <asp:ListItem Value =’#0000ff’>#0000ff</asp:ListItem> <asp:ListItem Value =’#00aacc’>#00aacc</asp:ListItem> <asp:ListItem Value =’#0000cc’>#0000cc</asp:ListItem> <asp:ListItem Value =’#cc0000′>#cc0000</asp:ListItem> <asp:ListItem Value =’#00ff00′>#00ff00</asp:ListItem> </asp:dropdownlist> <asp:rangevalidator id=’RangeValidator1′ runat=’server’ ErrorMessage=’Select a color between #00ff00 to #ff0000′ ControlToValidate=’DropDownList1′ MaximumValue=’#ff0000′ MinimumValue=’#00ff00′> </asp:rangevalidator>