Today when we wrote a program for online job portal. On that time i want to show the job detail from job table using single English alphabet letter. So first of all i bind Dropdownlist with the alphabet letters then also bind Gridview from selected DropdownList letter. For this type of query i need SQL LIKE operator because i want to search items from the table on the basis of selected letter. Bind the gridview with SqlDataSource with where clause.
<p>
Please Select any one letter from given list:</p>
<asp:DropDownList ID="Letters" DataSource='<%# Alphabet %>' runat="server" />
<asp:Button ID="Button1" runat="server" Text="Get Job List" />
<p>
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" DataKeyNames="JobId" DataSourceID="SqlDataSource1">
<Columns>
<asp:BoundField DataField="JobId" HeaderText="JobId" InsertVisible="False" ReadOnly="True" SortExpression="JobId" />
<asp:BoundField DataField="JobName" HeaderText="JobName" SortExpression="JobName" />
<asp:BoundField DataField="Salary" HeaderText="Salary" SortExpression="Salary" />
<asp:HyperLinkField DataNavigateUrlFields="JobId" DataNavigateUrlFormatString="jobdetail.aspx?JobId={0}" HeaderText="Full Detail" Text="Details" />
</Columns>
</asp:GridView>
<asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:ConnectionString %>" SelectCommand="SELECT * FROM [AddJob] WHERE (JobName LIKE @JobName + '%')">
<SelectParameters>
<asp:ControlParameter ControlID="Letters" Name="JobName" PropertyName="SelectedValue" Type="String" />
</SelectParameters>
</asp:SqlDataSource>
Code Behind page
public partial class Bynamejobsearch : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
DataBind();
}
}
private List<char> _Alphabet;
protected List<char> Alphabet
{
get
{
if (_Alphabet == null)
{
_Alphabet = new List<char>();
for (int i = 65; i < 91; i++)
{
_Alphabet.Add(Convert.ToChar(i));
}
}
return _Alphabet;
}
}
}
Dark highlighted black line show that how to use select command with like operator. By using LIKE operator we got job detail which is start from letter which is selected in DropdownList. I mean to say first letter come from List and remaining letter can any other letters of English alphabet.
<p>
Please Select any one letter from given list:</p>
<asp:DropDownList ID="Letters" DataSource='<%# Alphabet %>' runat="server" />
<asp:Button ID="Button1" runat="server" Text="Get Job List" />
<p>
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" DataKeyNames="JobId" DataSourceID="SqlDataSource1">
<Columns>
<asp:BoundField DataField="JobId" HeaderText="JobId" InsertVisible="False" ReadOnly="True" SortExpression="JobId" />
<asp:BoundField DataField="JobName" HeaderText="JobName" SortExpression="JobName" />
<asp:BoundField DataField="Salary" HeaderText="Salary" SortExpression="Salary" />
<asp:HyperLinkField DataNavigateUrlFields="JobId" DataNavigateUrlFormatString="jobdetail.aspx?JobId={0}" HeaderText="Full Detail" Text="Details" />
</Columns>
</asp:GridView>
<asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:ConnectionString %>" SelectCommand="SELECT * FROM [AddJob] WHERE (JobName LIKE @JobName + '%')">
<SelectParameters>
<asp:ControlParameter ControlID="Letters" Name="JobName" PropertyName="SelectedValue" Type="String" />
</SelectParameters>
</asp:SqlDataSource>
Code Behind page
public partial class Bynamejobsearch : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
DataBind();
}
}
private List<char> _Alphabet;
protected List<char> Alphabet
{
get
{
if (_Alphabet == null)
{
_Alphabet = new List<char>();
for (int i = 65; i < 91; i++)
{
_Alphabet.Add(Convert.ToChar(i));
}
}
return _Alphabet;
}
}
}