Introduction
In Part
- 3 article of this series, we
have discussed how to display records in GridView based on the selected item in
DropDownList. We always use to see that it is necessary to select at-least an
item in DropDownList to process the form.
Appending Data Items
We can mix the list items that we declare in a List control and the list items
that are added to the control when it is bound to a data source. This is useful
when we want to display a default selection.
For example, imagine that we are creating a form in which we want to require a
user to pick an item from a List control. In this situation, we should add a
default item to the List Control so we can detect whether a user has actually
picked an item. We can mix declarative list items with databound list items by
assigning the value true to the AppendDataBoundItems property. Let's take a look
how it is created.
In above picture we have not selected any option and it is displaying the
RequiredFieldValidator message.
In above picture we have selected an item from DropDownList and hence it is
displaying data on form.
<%@ Page Language="VB" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD
XHTML 1.0
Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
Protected Sub btnSelect_Click(ByVal sender As Object, ByVal e As EventArgs)
lblSelectedProduct.Text = ddlProducts.SelectedItem.Text
End Sub
</script>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:DropDownList
id="ddlProducts"
DataSourceID="SqlDataSource1"
DataTextField="NAME"
DataValueField="ID"
AppendDataBoundItems="true"
runat="server">
<asp:ListItem
Text="Selecte
a Product"
Value=""/>
</asp:DropDownList>
<asp:RequiredFieldValidator
ID="valProduct"
Text="Required
to select"
ControlToValidate="ddlProducts"
runat="server"/>
<br />
<asp:Button
id="btnSelect"
Text="Select"
OnClick="btnSelect_Click"
Runat="server" />
<hr />
<asp:Label
id="lblSelectedProduct"
Runat="server" />
<asp:SqlDataSource ID="SqlDataSource1" runat="server"
ConnectionString="<%$ ConnectionStrings:DatabaseConnectionString1 %>"
ProviderName="<%$ ConnectionStrings:DatabaseConnectionString1.ProviderName %>"
SelectCommand="SELECT
[ID], [NAME] FROM [PRODUCT_LIST]"></asp:SqlDataSource>
</div>
</form>
</body>
</html>
Above code page includes both a DropDownList control and a
RequiredFieldValidator control. The DropDownList control includes a list item
that displays the text "Select a Product." The Value property of this list item
is set to the empty string. If you attempt to submit the form without selecting
a list item other than the default list item, then the RequiredFieldValidator
displays an error message. Notice that the DropDownList control includes an
AppendDataBoundItems property which is set to the value true. If we neglect to
set this property, then the databound list items overwrite any declarative list
items.
Note: Continue in Next Part.
HAVE A GREAT CODING!