hello,
you use javascript with ajax for this.
i will write the code here,you just change ur query.
this is the js file,You can use it as it is.Just change the redirect path in the searchSuggest function.redirect it where you have ur text box.and one thing more you have to download ajaxtoolkit and add it in ur bin folder.
var maxDivId, currentDivId, strOriginal;
searchReq = getXmlHttpRequestObject();
function getXmlHttpRequestObject() {
if (window.XMLHttpRequest) {
return new XMLHttpRequest();
}
else if (window.ActiveXObject) {
return new ActiveXObject("Microsoft.XMLHTTP");
}
else {
}
}
function searchSuggest(e) {
var key = window.event ? e.keyCode : e.which;
if (key == 40 || key == 38) {
scrolldiv(key);
}
else {
if (searchReq.readyState == 4 || searchReq.readyState == 0) {
var str = escape(document.getElementById('txtSearch').value);
strOriginal = str;
searchReq.open("GET", 'CreateModifyNewItem.aspx?search=' + str + '&url=' + window.location, true);
searchReq.onreadystatechange = handleSearchSuggest;
searchReq.send(null);
}
}
}
function handleSearchSuggest() {
if (searchReq.readyState == 4) {
var ss = document.getElementById('search_suggest');
ss.innerHTML = '';
var str = searchReq.responseText.split("~");
if (str.length > 1) {
for (i = 0; i < str.length - 1; i++) {
maxDivId = i;
currentDivId = -1;
var suggest = '<div ';
suggest += 'id=div' + i;
suggest += ' '
suggest += 'onmouseover="javascript:suggestOver(this);" ';
suggest += 'onmouseout="javascript:suggestOut(this);" ';
suggest += 'onclick="javascript:setSearch(this.innerHTML);" ';
suggest += document.onclick = function() { HideSuggDiv('this.innerHTML'); };
suggest += 'class="suggest_link">' + str[i] + '</div>';
ss.innerHTML += suggest;
ss.style.visibility = 'visible';
}
}
else {
ss.style.visibility = 'hidden';
}
}
}
function suggestOver(div_value) {
div_value.className = 'suggest_link_over';
}
function scrollOver(div_value) {
div_value.className = 'suggest_link_over';
document.getElementById('txtSearch').value = div_value.innerHTML;
}
function HideSuggDiv(value) {
var txt = document.getElementById('txtSearch');
var obj = document.getElementById('search_suggest');
var evt = window.event || arguments.callee.caller.arguments[0];
var eobj = window.event ? evt.srcElement : evt.target;
if (eobj.nodeType == 3) eobj = eobj.parentNode;
while (eobj.parentNode) {
if (eobj == obj) return;
eobj = eobj.parentNode;
}
obj.style.visibility = 'hidden';
}
function suggestOut(div_value) {
div_value.className = 'suggest_link';
}
function setSearch(value) {
var ss = document.getElementById('search_suggest');
document.getElementById('txtSearch').value = value;
ss.innerHTML = '';
ss.style.visibility = 'hidden';
}
function scrolldiv(key) {
var tempID;
if (key == 40) {
if (currentDivId == -1) {
scrollOver(div0);
currentDivId = 0;
}
else {
if (currentDivId == maxDivId) {
tempID = 'div' + maxDivId;
var a = document.getElementById(tempID);
currentDivId = -1;
suggestOut(a)
document.getElementById('txtSearch').value = strOriginal;
}
else {
tempID = currentDivId + 1;
setScroll(currentDivId, tempID)
}
}
}
else if (key == 38) {
if (currentDivId == -1) {
tempID = maxDivId;
setScroll(maxDivId, maxDivId)
}
else {
if (currentDivId == 0) {
tempID = 'div' + currentDivId;
var a = document.getElementById(tempID);
currentDivId = -1;
suggestOut(a)
document.getElementById('txtSearch').value = strOriginal;
}
else {
tempID = currentDivId - 1;
setScroll(currentDivId, tempID)
}
}
}
}
function setScroll(Old, New) {
var tempDivId;
currentDivId = New;
tempDivId = 'div' + Old;
var a = document.getElementById(tempDivId);
suggestOut(a)
tempDivId = 'div' + currentDivId;
var b = document.getElementById(tempDivId);
scrollOver(b);
}
and in the aspx page you have to use the input textbox type
add ajax toolkit in the register tag and js file reference
<pre lang="xml"><input type="text" id="Text1" name="txtSearch" onkeyup="searchSuggest(event);"
style="width: 170px" />
<asp:HiddenField ID="HiddenField1" runat="server" />
<div id="Div4" style="z-index: 2; visibility: hidden; position: absolute;
left: 11px; width: 170px; top: 40px">
</div>
<asp:Button ID="Button1" runat="server" Text="Search" CausesValidation="False"
OnClick="btnSearch_Click" CssClass="asset-viewer-btn" OnClientClick="getSearchValue();" />
<script type="text/javascript" language="javascript">
function getSearchValue() {
var getValue = document.getElementById('txtSearch').value;
var hiddenfield = document.getElementById("<%=txtHiddenFieldSearch.ClientID%>").value = getValue;
}
</script>
on the page load in code behind:
if (Request.QueryString["search"] != null)
{
string clientName = Request["search"].ToString();
Getresult();
}
private void Getresult()
{
DataTable dt = new DataTable();
//string search = "Select * from assets where AssetType Like Concat ('%','" + clientName + "','%') || AssetSubType Like Concat ('%','" + clientName + "','%') || AssetType Like Concat('%','" + clientName + "','%') Limit 7";
string search = "Select AssetType from assets where AssetType Like '" + clientName + "%' group by AssetType UNION Select AssetSubType from assets where AssetSubType Like '" + clientName + "%' group by AssetSubType UNION Select AssetName from assets where AssetName Like '" + clientName + "%' group by AssetName LIMIT 10";
if (myConnection.State == ConnectionState.Closed)
{
myConnection.Open();
}
command = new MySqlCommand(search, myConnection);
MySqlDataAdapter da = new MySqlDataAdapter(command);
da.Fill(dt);
StringBuilder sb = new StringBuilder();
if (clientName != "")
{
if (dt.Rows.Count > 0)
{
for (int i = 0; i < dt.Rows.Count; i++)
{
sb.Append(dt.Rows[i].ItemArray[0].ToString() + "~"); //Create Con
//sb.Append(dt.Rows[i].ItemArray[2].ToString() + "~");
//sb.Append(dt.Rows[i].ItemArray[3].ToString() + "~");
}
}
}
Response.Write(sb.ToString());
}
protected void btnSearch_Click(object sender, EventArgs e)
{
string searchValue = txtHiddenFieldSearch.Value;
//txtSearch.Value = txtSearch.Value.Replace(" ", "").Replace(" ", "").Trim();
string search = "Select * from assets where AssetType Like '" + searchValue + "%' || AssetSubType Like '" + searchValue + "%' || AssetName Like '" + searchValue + "%'";
if (myConnection.State == ConnectionState.Closed)
{
myConnection.Open();
}
//OdbcCommand command = new OdbcCommand(search, myConnection);
command = new MySqlCommand(search, myConnection);
MySqlDataAdapter adapter = new MySqlDataAdapter(search, myConnection);
DataSet ds = new DataSet();
adapter.Fill(ds);
GridView1.DataSource = ds;
GridView1.DataBind();
myConnection.Close();
}