|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Announcements
Want a new Job?
Chapters
Services
Feature Zones
|
IntroductionThe custom The user can also set a property to set the first item in the list to be 'Select'. This otherwise would have required inserting an item in the datasource. BackgroundWhile working on one of my projects, it came up as a requirement that in a dropdown list which contains more that 20 items, we had to use some feature that allowed a user to type the name of the item she or he is looking for and consequently that item should get highlighted in the list. This would have helped in looking for and selecting an item particularly when the dropdown contains a number of items. The feature to set the first item as 'Select' can be used optionally by merely setting up a property. Using the CodeThe code has a single class The Public Property FirstElementSelect() As Boolean
Get
Return _IsFirstElementSelect
End Get
Set(ByVal value As Boolean)
_IsFirstElementSelect = value
End Set
End Property
In the Protected Overrides Sub OnInit(ByVal e As System.EventArgs)
Me.Attributes.Add("onkeypress", "return AutoComplete(this);")
Me.Attributes.Add("onblur", "return Reset(this);")
MyBase.OnInit(e)
End Sub
The Protected Overrides Sub Render(ByVal writer As System.Web.UI.HtmlTextWriter)
Dim strScript As String = "<script></script>"
writer.WriteLine(strScript)
Dim strScript1 As String = "<script></script>"
writer.WriteLine(strScript1)
MyBase.Render(writer)
End Sub
The Private Sub Class1_PreRender(ByVal sender As Object, _
ByVal e As System.EventArgs) Handles Me.PreRender
If FirstElementSelect = True Then
If Not (Me.Items.Contains(New ListItem("select")) _
Or Me.Items.Contains(New ListItem("Select"))) Then
Me.Items.Insert(0, New ListItem("Select"))
End If
End If
End Sub
The JavaScript function function AutoComplete(obj)
{
var undefined;
if (obj.keypressBuffer == undefined)
{
obj.keypressBuffer = '';
}
var key = String.fromCharCode(window.event.keyCode);
obj.keypressBuffer += key;
obj.keypressBuffer = obj.keypressBuffer.toLowerCase();
var iLength = obj.options.length;
var bool=false;
for (var i=0; i < iLength; i++)
{
var strText = obj.options[i].text;
strText = strText.toLowerCase();
if (strText.indexOf(obj.keypressBuffer,0) == 0)
{
obj.selectedIndex = i;
bool=true;
return false;
}
}
if (bool==false)
{
return false;
}
}
In order to initialize the function Reset(obj)
{
obj.keypressBuffer='';
}
History
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||