Using the DetailsView control
Video: Using the DetailsView controlDynamic websites frequently need a user interface that allows the user modify the data in the server-side database. Data entry systems on websitea typically consist of multiple pages. A list page which displays the key columns of a particular database, table links from that list page to an insert form which allow the user to add a new record to the database table, and an update page which presents the details of a selected record and allows the user to make the changes to that data. I am going to start in this video by showing you how to use the control called the DetailsView. It's similar to a GridView in that it bounds to an SqlDataSource which in turn is making queries to a server-side database table, but it's designed to show one record at a time. I'll start with an existing website.
- Installing IIS on Windows XP
- Where to go from here
Viewers: in countries Watching now:
Thousands of businesses have used Microsoft ASP.NET to build professional, dynamic websites. In this course, web developer David Gassner demonstrates the tools needed to build and deploy a dynamic site using ASP.NET 3.5 or 4.5. Covering everything from installing and configuring Visual Web Developer 2008 or Visual Studio Express 2012 for Web and SQL Server Express to creating web form pages, this course is designed to give beginning and intermediate developers hands-on experience.
- Storing data with SQL Server
- Using the GridView control to present and edit dynamic data
- Creating a data entry system
- Attaching external CSS files
- Creating pages to log in and authenticate visitors
- Installing Internet Information Services (IIS) on Windows XP and Windows Vista
- Deploying an ASP.NET website on IIS
Using the DetailsView control
Dynamic websites frequently need a user interface that allows the user modify the data in the server-side database. Data entry systems on websitea typically consist of multiple pages. A list page which displays the key columns of a particular database, table links from that list page to an insert form which allow the user to add a new record to the database table, and an update page which presents the details of a selected record and allows the user to make the changes to that data. I am going to start in this video by showing you how to use the control called the DetailsView. It's similar to a GridView in that it bounds to an SqlDataSource which in turn is making queries to a server-side database table, but it's designed to show one record at a time. I'll start with an existing website.
Go to the menu and select File > Open Web Site and select the folder DataEntry and click Open and then start with the file AuthorDetail.aspx. I'll look at the page in Design view. The page currently displays a banner and a set of hyperlinks that are a part of server- side control called Header and otherwise has just blank space. Before I use the DetailsView, I want to create an SqlDataSource that points to the particular table I want the user to edit. I'll go to the Database Explorer and if you are following along and you don't see your list of Tables just open up the Database Connection and then click the Refresh button if necessary.
You should see the list of tables there. Then I'll locate the table I want the user to be able to modify, authors, and I'll drag and drop the table and place it into the blank space in the page. When you drag the table into the page you get both the SqlDataSource at the bottom but also the GridView. I'm not going to use the GridView in this exercise. So I'll press the Delete key. That will delete the GridView and I'll be left with the SqlDataSource. Then I'll press the Enter key and that will create the paragraph above the SqlDataSource, a place where I can put my new DetailsView control.
The DetailsView can be dragged in from the Toolbox panel. I'll go to the Toolbox tab on the left. I'll move the cursor over the tab to cause the panel to slide out and then I'll click to the Pushpin icon to pin the Toolbox panel and make it possible to see both the Toolbox and the page in Design View. Now, in the Toolbox panel open up your Data category. If you are only seeing the Standard category open, close it and then click the + icon next to Data and then locate the DetailsView control. Click and drag DetailsView and drop it inside the empty paragraph. When you initially create the DetailsView it won't be bound to a data source. So with the Task list open which it should be automatically, go to Choose Data Source open the list, select SqlDataSource1. The data source that was just created and you should see the DetailsView control automatically display all of the columns from the database.
If you don't see the columns try clicking the Refresh Schema link that you will see on the Task list and then you should definitely see the controls appear. Now save your changes by pressing Ctrl+ S then go to the menu and select Debug > Start Without Debugging. By default the DetailsView will show the details of the first record in the data set. You will notice some visual problems. First of all in the left column where the labels appear, the labels are the same as the actual database column names. Just as with the GridView you need to modify these values yourself. You will also notice that the right column, which displayed the data, is word wrapping.
This is something you can also fix just through setting properties. So close the browser and we'll make those changes. First, I'm going to apply some simple visual formatting. Just as with the GridView, you can use the AutoFormat feature, which applies a set of connected properties to present a particular look and feel. Click the Smart Task icon to open the Task list and then select AutoFormat. You will see a number of formats presented, you can click through and select the one that you like. I'm going to choose this Simple format and click OK.
Now I'll save my changes and once again run the page and you will see that the formatting is presented but once again I still need to fix my headers and the word wrapping. So I'll close the browser. You can fix the Header Text either through Visual Web Developer's visual interface or in code. Just as with the GridView, if you want to do it through Visual Web Developer's interface, go to the Task list and select Edit Fields. Then in the selected Fields list click on each column that you want to modify locate the HeaderText value and update it.
I will type in Author ID. Notice that when I press the Tab key that the new values reflected in the Field list. If you prefer you can work in source code. I'll click OK to save those changes. Then I'll click anywhere on the page to clear the Task list and click the Source button. Then I'll press Alt+Shift+Enter to look at the page in Full Screen. Then I'll navigate to the BoundField List. I'll locate each of the HeaderText properties and modify it. I'll change au_lname to Last Name. I'll change au_fname. To delete the text I'm placing the cursor at the end of the string and then pressing Ctrl+Backspace.
Then I'll type in First Name and then for each of the other columns I'll just capitalize the initial character. I will run the page again and I'll show you that everything seems to be working. Now I'm going to deal with the word wrapping issue. I'll close the browser and then go into the Design View, I'll open the Task List and once again go to Edit Fields. For each column that I want to prevent from word wrapping I'll click on the column in the Selected fields list then I'll scroll down to the bottom to the Styles section.
I will go to the ItemStyle, scroll down a little bit further and then I'll change the Wrap property from True to False. And I'll do this on each of the columns that I want to prevent from wrapping. Notice that as you move through the columns the BoundField properties list doesn't scroll. This makes it very easy to go through and handle one field at a time. I will click OK and then you can also deal with the word wrapping in the labels by going into the Header Properties, but a simpler approach is simply to make the whole control a little bit wider, so that there is plenty of space for those labels. So I'll drag that out to a width of 170 pixels or thereabout, you don't have to be exact. Then I'll press Ctrl+S and Ctrl+F5 to run the page again.
Now I'm seeing that the data isn't word wrapping. If you are still seeing word wrapping in the labels, go back to Edit Fields. Go to the fields that have spaces in them, go to HeaderStyle and change the Wrap property to False. I'll only do this on the columns where the HeaderText has a space in the middle, Author ID, First Name and Last Name. I will click OK. Press Ctrl+S to save, Ctrl+F5 to run and now when the DetailsView is displayed on the screen nothing is word wrapping and the labels and the data are displaying cleanly. So that's how you add a DetailsView control to a page and control its formatting and presentation.
Find answers to the most frequently asked questions about ASP.NET Essential Training .
Here are the FAQs that matched your search "" :
- Q: When trying to create a new database, after pasting the text into the SQL Management Suite and executing the query, the database is not created and the following message appears:
Database 'mybookstore' does not exist. Make sure that the name is entered correctly.
What is causing this error?
- A: The database must be explicitly created before the script is run. Start by right-clicking on the Databases item in the left panel, then follow the prompts to create the database. Then retry the query.
- Q: I am running into problems installing the latest version of ASP.NET. Has the installation procedure changed since this tutorial was recorded?
- A: The installation process for the newest version of ASP.NET and its associated tools is a little different than in ASP.NET 3.5, which was used to record this course. You can download Microsoft Web Platform Installer 2.0 from:
<a href="http://www.microsoft.com/web/downloads/platform.aspx" target="blank">http://www.microsoft.com/web/downloads/platform.aspx</a>
Microsoft Web Platform Installer 2.0 includes everything you need:
Visual Web Developer 2010?
SQL Server Express
You must have one of the following operating systems:
Windows Vista SP1?
Windows XP SP2+?
Windows Server 2003 SP1+?
Windows Server 2008?
Windows Server 2008 R2
You must have administrator privileges on your computer to run the Web Platform Installer.
- Q: This course was updated on 2/13/2013. What changed?
- A: Since this course was recorded, Microsoft has released both ASP.NET 4.5, the latest version of the server-side web application server, and Visual Studio Express 2012 for Web (the successor product to Visual Web Developer). Both have been adapted to work on Windows 8. There will be some visual changes and some functional changes, but most of the server-side code shown in the course is the same. This update provides a map for those working with the latest software so they can navigate their way through the course.
In particular, we added <em>What's new</em> movies for both ASP.NET 4 and 4.5, a movie explaining the significance of the update, a movie on installing SQL Server Express 2012, and one on exporting database scripts in SQL Server Management Studio 2012, as well as updates to visuals throughout the course.
- Q: In the chapter on user authentication, an authentication error results when I try to use the Login component or register a new user. How do I fix this?
- A: This is a known error that can occur when using the original release of Visual Studio 2012 Express for Web. Update your copy of Visual Studio for Web to at least maintenance release 1, and then try the exercise again.
Sorry, there are no matches for your search "" —to search again, type in another word or phrase and click search.