VKinfotek Inc.
  • Us
    About Us
    Contact Us
  • FAQs
  • Ready Software
    Ready ERP ASP Core Software for Azure Cloud
    Ready Web ERP Software
    Ready ASP.Net Azure Software
    Ready C# SQL Server Accounting Software
    Ready ASP.Net MVC and EF Software
First slide
Earn $100/hour in USA! Click Here

FormView DataBound Event


Using the DataBound Event of the FormView control, we can customize the format of the data displayed in the FormView control. In this example, we will demonstrate how to format the data by choosing the example of displaying closing stock quantity in an italic font when the closing stock quantity is less than or equal to 0.

Steps:

Place the FormView control and set its ID property to FormView1. Configure the SqlDataSource control and bind the FormView to the SqlDataSource control. Create an ItemTemplate for the FormView and include the ItemID, ItemName,ItemType and ClStk fields, each in their corresponding Label controls.

Observe that the ItemTemplate contains four Label controls, ItemID, ItemName, ItemType and ClStk. In the statement <asp:Label ID="lblCode" Text='<%#Eval("ItemID")%>' runat="server" />, the code Text='<%#Eval("ItemID")%>' is referred to as the Databinding syntax for the field ItemID. The statement Text='<%#Eval("ItemID")%>' assigns the value of ItemID field to the Label control's Text property.

In the ItemTemplate, instead of using label controls, we can also use Static HTML text as shown below.
<%--<b>Item ID:</b>    <%#Eval("ItemID")%>		    <br /><br />
<b>Item Name:</b>      <%#Eval("ItemName")%>	    <br /><br />
<b>Item Type:</b>      <%#Eval("ItemType")%>	    <br /><br />
<b>Closing Stock:</b>  <%#Eval("ClStk")%>	        <br /><br />--%>


<%@ Page Language="C#" AutoEventWireup="true" CodeFile="FormViewDataBound.aspx.cs" 
Inherits="FormViewDataBound" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<style type="text/css">
 .changefont
{
    font-weight: bold;
    font-style: italic;
}
</style>
    <title>Untitled Page</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
      <asp:FormView ID="FormView1"  DataSourceID="MyDataSource"  
      DataKeyNames="ItemID"  AllowPaging="true" 
      OnDataBound="ItemsFormView_DataBound" runat="server">
       <ItemTemplate>
       <h3>Item Details</h3>
       <asp:Label ID="lblCode" Text='<%#Eval("ItemID")%>'  	    runat="server" /><br />
       <asp:Label ID="lblName" Text='<%#Eval("ItemName")%>'	    runat="server" /><br />
       <asp:Label ID="lblDescription" Text='<%#Eval("ItemType")%>' runat="server" /><br />
       <asp:Label ID="lblStock" Text='<%#Eval("ClStk")%>'  	    runat="server" /><br />

<%--<b>Item ID:</b>    <%#Eval("ItemID")%>		<br /><br />
<b>Item Name:</b>      <%#Eval("ItemName")%>	    <br /><br />
<b>Item Type:</b>      <%#Eval("ItemType")%>	    <br /><br />
<b>Closing Stock:</b>  <%#Eval("ClStk")%>	        <br /><br />--%>



<asp:LinkButton     id="lnkClose"   Text="Close"  Runat="server"/>      
<asp:LinkButton     id="lnkEdit"    Text="Edit"   
CommandName="Edit" Runat="server" />	 | 
<asp:LinkButton	    id="lnkNew"     Text="New Item"   
CommandName="New"  Runat="server" />
</ItemTemplate>
</asp:FormView>
<asp:SqlDataSource ID="MyDataSource"  
ConnectionString="<%$Connectionstrings:ERPConnectionString%>"
SelectCommand="SELECT ItemID,ItemName,ItemType,ClStk FROM ItemTable" 
runat="server"        />
</div>
</form>
</body>
</html>


To customize the format of data displayed by the FormView control, we access the value of the data in the DataBound Event Handler, by creating an event handler for the FormView's DataBound event. In the DataBound Event Handler, we access the label control - clstk and set the style property - text to italic.

Using FindControl() method in DataBound Event of the FormView control

To access a label control in an Itemtemplate, we use the FindControl("controlID") method as shown below. Label lbl = (Label)FormView1.FindControl("lblStock"); In the below code, the method FindControl returns a generic Control. To access the properties of the control, we need to cast to the Label control and modify Label control's style properties using CSS class property.

protected void ItemsFormView_DataBound(object sender, EventArgs e)
    {
       DataRowView dataRow = ((DataRowView)FormView1.DataItem);
        if (Convert.ToInt16(dataRow["ClStk"]) <= 0)
        {
            Label lbl = (Label)FormView1.FindControl("lblStock");
           	lbl.CssClass = "changefont";
     }

}


formview databound event

When this code is executed, the FormView control displays items whose closing stock quantity is less than or equal to 0, in an italic font. Observe that the FormView control does not contain any BoundFields and hence we cannot use the Rows collection.

Note that the below statement changes the fonts of all the fields of the formView control because the FormView control returns all fields in a single row.

FormView1.Row.Cells[0].CssClass = "changefont";

Most Viewed

Home
Home
Azure Q & A
Azure Platform
Grid-View
GridView CommandField example
Details-View
GridView and DetailsView Master/Detail page using SqlDataSource control
POCO
POCO overview and advantages - POCO class, Entity Framework in Enterprise Applications
Entity Framework
Query entity data model using linq to entities
Array List
Difference between arraylist and list collection
Web Services
How to create a Web service using Visual Studio.net
Form-View
FormView DataBound Event
Object Oriented Programming
Calling base class constructor in C#
Linq
Convert a sequence to a generic list using ToList()method
Project Ideas
Project ideas for students
AccountingSoftware
Accounting Software
MVC
Creating an ASP.Net MVC 3 application
.Net
Using assemblies in .net applications
ASP .Net
How to implement form validation using ASP.Net 2.0 Validation Controls
VB .Net
Constructors in Visual Basic.Net


  • SITEMAP
  • Terms of use
  • Testimonials

Back to top

Copyright © 2016 - All Rights Reserved - VKInfotek.com