:: Home     :: MS Dynamics CRM     :: .Net 1.1     :: .Net 2.0     :: Sharepoint Portal     :: Ajax

  login:        
  passwords:  
 

Asp.Net Interview Questions
Asp.Net 2.0/3.5 Sample Interview Questions and Answers. Interview Tips for a successful job Interview


 

Code Walkthroughs

Datagrid Formatting the Data
We are able to format the content of the datagrid cell by one of two simple methods, dependant upon whether the column is a bound column or whether it is a template column. In our example we shall format the column to have to digits after the decimal point , followed by a...

Datagrid Highlight a Row With Click Through
It is relatively easy to add alternating colours to the rows in your datagrid. However, when we move the mouse over the rows we may want to highlight this row, and possibly to add the option of a click through based on the row selected...

Add a Delete Button to a Datagrid
To add a delete button to a datagrid follows a similar process to adding an edit button. In the datagrid header...

Add an Edit Button to a Datagrid
The datagrid has a predefined editColumn for handling the editing of a datagrid. Adding this simple column definition to a datagrid adds a powerful feature. When a row is not in edit mode the column item shows the word...

Making a Datagrid Row Editable
Two of the most popular methods of editing a datagrid in asp.net are to either select the row and take the user off to a different presentation of the data, or to change the formatting of the row presented in the database with appropriate edit text boxes, checkboxes and...

Adding Tooltips to Datagrid Rows
Adding tooltips to datagrid rows is easy, assuming that you have already created the code for adding row highlighting. In this article I shall assume that you have already read the article entitled Datagrid Highlight a Row With Click Through...

Binding a Datagrid to an Access Database
This list covers the full lifecycle of a content management system, from initially creating the content, through to delivering it to end users...

Adding Data to a DropDownList
The aim of this article is to answer the question 'How do I add items to a DropDownList?' Initially as part of the declaration for the DropDownList we can also define a number of items, much in the same way as in classic ASP...

Getting Current Date Time
In classic ASP we had now() which would return the current date and time. For asp.net this no longer exists. So what should we use...

Test if File Exists
Sometimes, in order to reduce our chance of error, when working with the filesystem in ASP.NET, we need to determine wether a file exists before performing an action on it. The following short piece of code will enable us to test whether a file exists...

Using Javascript with ASP.NET Form Elements
Adding simple pieces of Javascript to an Asp.net page can be acheived by adding to the attributes of the particular imagebutton or linkbutton. if its normal ASP.Net Button then you can...

Regular Expressions
In the table below we list the characters used in .Net regular expressions, together with their meaning, But first...

Authentication in Asp.net
Forms authentication in ASP.Net is far more easier and safe than Asp 3. It is possible to place a web.config file in any directory of a web site.Therefore, we are able to make most of a web site public, whilst providing authentication on, say, one directory...

Discussion Forums

General ASP.NET

.Net Programming

cSharp Home

Sql Server Home

Javascript / Client Side Development

IT Jobs

Ajax Programming

Ruby on Rails Development

Perl Programming

C Programming Language

C++ Programming

Python Programming Language

Laptop Suggestions?

TCL Scripting

Fortran Programming

Scheme Programming

8. Repeater

FAQ Home
   8.1 How to display alphabetically sorted data in Repeater?
   8.2 How to display the Directory names in the Repeater Control?
   8.3 How to define HeaderTemplate and ItemTemplate to the Repeater at runtime TBD?
   8.4 How to add a TemplateColumn dynamically to Repeater?
   8.5 How to implement sorting using Repeater?
   8.6 Can I specify ItemStyle to a Repeater Control?
   8.7 How to change the row color of the Repeater based on some condition?

8.1 How to display alphabetically sorted data in Repeater?



<asp:Repeater id="Repeater1" runat="server">
<ItemTemplate >
     <b>
     <u><p>
     <%#GetFirstAlphabet(DataBinder.Eval(Container.DataItem, "LastName").ToString())%>
     </p></u>
</b>
<%#DataBinder.Eval(Container.DataItem, "LastName").ToString()%>
,<%#DataBinder.Eval(Container.DataItem, "FirstName").ToString()%><br>
</ItemTemplate>
</asp:Repeater>


VB.NET


If Not Page.IsPostBack Then
     'Populate the Data in the Repeater
End If

protected function GetFirstAlphabet(ByVal strval As String) As String
Dim alphabet As String = ViewState("alphabet")
If alphabet = Left(strval, 1) Then
     Return ""
Else
     alphabet = Left(strval, 1)
     ViewState("alphabet") = alphabet
     Return alphabet
End If
End Function


C#


if(!Page.IsPostBack)
{
     //Populate the Data in the Repeater          
}

protected string GetFirstAlphabet(string strval)
{
     string alphabet =(string) ViewState["alphabet"];
     if( alphabet == strval.Substring(0,1) )
     {
          return "";
     }
     else
     {
          alphabet = strval.Substring(0,1);
          ViewState["alphabet"] = alphabet;
          return alphabet;
     }
}



8.2 How to display the Directory names in the Repeater Control?


Use namespace System.IO


<asp:Repeater id="Repeater1" runat="server">
<ItemTemplate >
     <%# DataBinder.Eval(Container.DataItem, "Name").ToString() %>
</ItemTemplate>
</asp:Repeater>


VB.NET


Dim dir As New DirectoryInfo(Server.MapPath("."))
Repeater1.DataSource = dir.GetDirectories
Repeater1.DataBind()


C#


DirectoryInfo dir = new DirectoryInfo(Server.MapPath("."));
Repeater1.DataSource = dir.GetDirectories();
Repeater1.DataBind();



8.3 How to define HeaderTemplate and ItemTemplate to the Repeater at runtime TBD?


VB.NET


Dim ds As DataSet
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
     ds = 'Assign proper value to dataset
     Dim dc As DataColumn
     Dim dr As DataRow
     Dim rpthdr As New TemplateBuilder
     Dim rptitem As New TemplateBuilder
     Dim strval As String
     For Each dc In ds.Tables(0).Columns
          If strval = "" Then
          strval = dc.ColumnName & " "
          Else
          strval = strval & dc.ColumnName & " "
          End If
     Next
     rpthdr.AppendLiteralString(strval)
     Repeater1.HeaderTemplate = rpthdr
     Repeater1.DataSource = ds
     Repeater1.DataBind()
End Sub

Function getData(ByVal objContainer As System.Web.UI.WebControls.RepeaterItem) As String
     Dim i As Integer
     Dim strval As String = "<br>"
     For i = 0 To ds.Tables("table").Columns.Count - 1
          If strval = "" Then
          strval = objContainer.DataItem(i).ToString & " "
          Else
          strval &= objContainer.DataItem(i).ToString & " "
          End If
     Next
     strval = strval & "<br>"
     Return strval
End Function


C#


DataSet ds;
private void Page_Load(object sender, System.EventArgs e)
{
     ds = something;
     DataColumn dc;
     DataRow dr;
     TemplateBuilder rpthdr = new TemplateBuilder();
     TemplateBuilder rptitem = new TemplateBuilder();
     string strval;
     foreach (int dc in ds.Tables(0).Columns)
     {
          if (strval == "")
          {
               strval = dc.ColumnName + " ";
          }
          else
          {
               strval = strval + dc.ColumnName + " ";
          }
     }
     rpthdr.AppendLiteralString(strval);
     Repeater1.HeaderTemplate = rpthdr;
     Repeater1.DataSource = ds;
     Repeater1.DataBind();
}

string getData(System.Web.UI.WebControls.RepeaterItem objContainer)
{
     int i;
     string strval = "<br>";
     for (int i = 0; i <= ds.Tables("table").Columns.Count - 1; i++)
     {
          if (strval == "")
          {
               strval = objContainer.DataItem(i).ToString + " ";
          }
          else
          {
               strval += objContainer.DataItem(i).ToString + " ";
          }
     }
     strval = strval + "<br>";
     return strval;
}



8.4 How to add a TemplateColumn dynamically to Repeater?


Refer : How to add Templatecolumn dynamically to DataList?

Now, instead of DataList use Repeater and make below changes
VB.NET


Public Sub BindLabelColumn(sender As Object, e As EventArgs)
     Dim lbl As Label = CType(sender, Label)
     Dim container As RepeaterItem = CType(lbl.NamingContainer, RepeaterItem)
     Dim strVals As String = Convert.ToString(DataBinder.Eval(CType(container, RepeaterItem).DataItem, "LastName")) + ", " + Convert.ToString(DataBinder.Eval(CType(container, RepeaterItem).DataItem, "FirstName"))
     lbl.Text = strVals
End Sub 'BindLabelColumn


C#


public void BindLabelColumn(object sender, EventArgs e)
{
      Label lbl = (Label)sender;
     RepeaterItem container = (RepeaterItem)lbl.NamingContainer ;
     String strVals =Convert.ToString(DataBinder.Eval(((RepeaterItem)container).DataItem, "LastName"))
          + ", " +
     Convert.ToString(DataBinder.Eval(((RepeaterItem)container).DataItem, "FirstName")) ;
     lbl.Text = strVals;
          
}



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



8.6 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


8.7 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'";
     }
}
 
Copyright 2005-2015, Megasolutions Ltd  |   Privacy Policy