Data Manipulation using ListView Server Control with ASP.NET 3.5
page 3 of 10
by Jesudas Chinnathampi (Das)
Feedback
Average Rating: This article has not yet been rated.
Views (Total / Last 10 Days): 76259/ 67

How to Populate a ListView Web Server Control

The following is the basic syntax to declare a ListView Web Server Control in an ASPX page.

Listing 1: ListView definition

<asp:ListView ID="ListView1" runat="server">
<LayoutTemplate>
<asp:PlaceHolder ID="itemPlaceholder" runat="server"></asp:PlaceHolder>
</LayoutTemplate> 
</asp:ListView>
<ItemTemplate>
<%#DataBinder.Eval(Container.DataItem, "ColumnName")%>
</ItemTemplate>

The layout template specifies the basic structure of a ListView control. A Placeholder control must be declared to use the ListView control. For example, if you want to display a report title then you could have a table row just above the Placeholder. And, if you want to display report footer, then you could have a table row just below the Placeholder. This has been explained later in this article, where we add rows to a ListView.

There are many ways we could bind the ListView object. In the following example, the ListView is being populated using a Stored Procedure. The DataItem "ColumnName" is one of the columns which are being returned by the Stored Procedure. During the Page_Load event, the Stored Procedure is executed and bind to the ListView.

Listing 2: Binding a ListView Web Server Control

protected void PopulateListView()
{
  SqlConnection myConn = CreateConnection();
  // CreateConnetion is a custom method which returns SQL connection.
  SqlCommand myCmd = new SqlCommand("pubs_get_authors", myConn);
  myCmd.CommandType = CommandType.StoredProcedure;
  try
  {
    myConn.Open();
    ListView1.DataSource = myCmd.ExecuteReader(CommandBehavior.CloseConnection);
  }
  catch (SqlException se)
  {
    lblMsg.Text = se.Message;
  }
  catch (Exception e)
  {
    lblMsg.Text = e.Message;
  }
  finally{}
  ListView1.DataBind();
  myConn.Close();
}

In the above code listing, the stored proc “pubs_get_authors” is invoked. Try … Catch … Finally has been used to trap any unexpected errors that might occur during the database operation. The definition of CreateConnection method is included in the code sample at the end of this article.

Figure 1: ListView control Output


View Entire Article

User Comments

Title: realy helpfu;   
Name: pradeep
Date: 2012-11-12 7:13:51 AM
Comment:
this article realy help to edit a row in database
Title: Dete function   
Name: Michael C
Date: 2012-10-11 3:07:17 PM
Comment:
The delete function is not working
Title: saa   
Name: cxcc
Date: 2012-04-12 10:54:51 AM
Comment:
cxcxcx
Title: gud article   
Name: Madhuri Sharma
Date: 2011-10-01 5:12:43 AM
Comment:
it is very help ful article to use ListView tool on .net project.
Title: Programming   
Name: Gerri
Date: 2011-04-03 11:44:34 PM
Comment:
Can't populate listview.
Title: Dont use lable for row.   
Name: Sachin
Date: 2010-10-30 7:36:26 PM
Comment:
".............s. Another key aspect for any edit operation is that we should know which row in the database should be updated".. For this purpose, we could store the primary key for each row in the ListView inside a hidden label control or even a hidden server control. "

Ever Heard of DataKey??
Title: ListView in window application   
Name: Harsh
Date: 2010-09-06 4:07:30 AM
Comment:
Article is good. Can i get same thing on Window application.
Title: Demo doesn't work   
Name: Roger
Date: 2010-04-07 5:24:00 PM
Comment:
When I download and attempt to run the demo it doesn't work! Please try embedding an SDF file into your project rather than trying make users connect to a nonexistant database on their machine.
Title: This was an answer to all my ListView questions!   
Name: Laxmi
Date: 2009-12-10 2:42:01 PM
Comment:
Its very nice article on listview
Title: This was an answer to all my ListView questions!   
Name: Halvard (Norway)
Date: 2009-12-08 11:01:02 AM
Comment:
Greate help!!
Title: How do I programmatically add the (conditional-not default) value to the new insert row   
Name: Thinnakone
Date: 2009-11-21 2:26:39 AM
Comment:
when click at the Insert, I want to be able to assign a value (from a conditional calculation) to the new row ?
Title: Server Side DropDownList databinding   
Name: Rinoy
Date: 2009-08-02 5:36:36 AM
Comment:
Hello,
thanks
can you help me to make server side dropdownbox binding
Title: Doesnt work demo and Downdoad File!!   
Name: Roberto
Date: 2009-07-06 9:38:05 PM
Comment:
Hello,
I can not download the file and also it doesnt work the online demo. Thanks.
Title: DropDownList OnSelectIndexChanged   
Name: Ajeesh
Date: 2009-01-13 2:19:18 AM
Comment:
Hi,
Thanks, Nice Article. I would like to know how to handle the dropdownlist onselectindexchanged event if I have two dropdownlists in the template and their autopostback property is set to true.
Title: Delete Confirmation Works Great   
Name: Lois
Date: 2008-09-22 3:22:26 PM
Comment:
I've been looking for delete confirmation for a ListView and everything I tried did not work until now. Your solution is simple, straight forward, and it works! Thanks, and keep up the good work.
Title: Nice   
Name: kinng
Date: 2008-09-06 10:38:06 AM
Comment:
Thanks, Useful article.
Title: YOU MUST TAKE THIS ARTICLE DOWN   
Name: HAN
Date: 2008-06-20 11:33:51 AM
Comment:
I spended quite a lot of hours and your codes are not working. I tried to make it work, but it just doesn't make sense and not working. I found it's better to put Updating, Inserting, and deleting on ItemCommand event. If you want to do all actions in code-behind, that's the best place you should embed the action codes. Your codes are too buggy and don't make sense in general. I hope anyone reading this as a beginner should avoid. Don't waste your time thinking you're doing something wrong. It's just the design of this codes are too nonsense
Title: Re: Go back and try again   
Name: Das (Author)
Date: 2008-05-20 9:05:08 PM
Comment:
This is fixed.

Well, this is a design flaw. When we have zero rows, the link to add authors was disabled. This is due to fact that the link to add new authors was in the ItemTemplate. When we have zero rows, the rows inside item template will not get rendered. So, I added an EmptyDataTemplate. Inside the EmptyDataTemplate, I have included a link to add authors. By this way, when someone deletes all rows, the link inside the EmptyDataTemplate will get rendered.
Title: Go back and try again   
Name: BugBuster
Date: 2008-05-20 1:19:20 PM
Comment:
Your code doesn't work, please correct it or remove from site. Tired of finding non-working examples.
Title: Editnig ListView   
Name: ListView
Date: 2008-04-23 3:08:32 AM
Comment:
Unable to edit
Title: Re: Live Demo is broken   
Name: Das
Date: 2008-02-19 6:13:48 PM
Comment:
It is a bug in my code. when the record count goes to zero, the link to "add new records" is not being displayed.

I need to fix this, so that the "Add new" link / button will always show up. so, when we have zero rows, we could add new row using the "Add New" functionality.

Will modify the code accordingly.
Title: Live Demo is broken   
Name: Jason Schechter
Date: 2008-02-19 2:38:06 PM
Comment:
Nothing is coming up except the shell of the table with the column headings.
Title: ListViewItemType   
Name: Wissam Bishouty
Date: 2008-02-19 6:33:06 AM
Comment:
Greetings,
thank you for the useful article.
in the DataBoundList method you say : if (ddl != null)
but why you do not check if the listview in edit mode so if it is in edit mode so you get the reference to the dropdownlist??

Regards.
Title: Re: Could not find stored procedure 'teacher.das_get_authors'.   
Name: Das
Date: 2008-02-17 6:39:19 PM
Comment:
The stored procedure got deleted somehow. Not sure how. But I just ran the create script again and the LIVE demo is working fine again.

Thanks for letting me know about the error
Title: Broken Demo   
Name: me
Date: 2008-02-06 4:43:35 PM
Comment:
Nice....
Could not find stored procedure 'teacher.das_get_authors'.






Community Advice: ASP | SQL | XML | Regular Expressions | Windows


©Copyright 1998-2024 ASPAlliance.com  |  Page Processed at 2024-03-19 5:38:33 AM  AspAlliance Recent Articles RSS Feed
About ASPAlliance | Newsgroups | Advertise | Authors | Email Lists | Feedback | Link To Us | Privacy | Search