在Gridview页面中搜索并突出显示文本

时间:2012-07-24 08:55:13

标签: javascript asp.net gridview

我从gridview填充datasetGridview包含数千条记录,因此我使用dataview实现了分页。填充gridview后,我使用java脚本搜索gridview列中的文本并突出显示文本。它适用于gridview行的末尾。

我希望像搜索一样继续使用javascript继续gridview的下一页。

将gridivew寻呼机控件添加到面板中,使其与gridview分开。

搜索功能从弹出窗口发生。我正在弹出窗口中的javascript访问面板中的控件,就像这样。但它作为长度返回零。

var controls = window.opener.document.getElementById('ctl00_ContentPlaceHolder1_pnlpager1').getElementsByTagName("input");  
             alert(controls.length);   
       for (var i = 0; i < controls.length; i++)  

       alert(controls[i]);

我们可以使用javascript

搜索gridview的所有页面中的gridview列

请检查javascript中的代码。

function searchback()
{//alert(window.opener)
    var rowid = -1 
    if (typeof(window.opener) != "undefined" && window.opener != null)
    {

         i = 1;
        if ((document.getElementById('<%= hdn_value.ClientId %>').value!="")&&(document.getElementById('<%= hdn_value.ClientId %>').value!="undefined"))
        {
            if ((document.getElementById('<%= hdn_ddVal.ClientId %>').value!="")&&(document.getElementById('<%= hdn_ddVal.ClientId %>').value!="undefined"))
            {
            //alert(document.getElementById('<%= hdn_ddVal.ClientId %>').value)
                if (document.getElementById('<%= hdn_ddVal.ClientId %>').value==document.getElementById('colNos').value)
                {
                    i=document.getElementById('<%= hdn_value.ClientId %>').value;
                    i--;
                }
            }
        }
      //alert(i);
        var rows = window.opener.document.getElementById(opener.gvwListViewId).getElementsByTagName('tr');             
        var searchData = document.getElementById('<%= hdn_SearchText.ClientId %>').value.toLowerCase();   
        //alert(searchData)
        var searchExp = new RegExp(searchData);
        //alert(searchExp)
        var colNo = document.getElementById('colNos').value;
        document.getElementById('<%= hdn_ddVal.ClientId %>').value=document.getElementById('colNos').value;
      //  alert(colNo)
       // alert(rows.length)
        while(i < rows.length)
        {               
            if(searchExp.test(rows[i].getElementsByTagName('td')[colNo].innerText.toLowerCase()))
            {             

            if (document.getElementById('rbtn_MatchFullWord').checked)
            {
                if (rows[i].getElementsByTagName('td')[colNo].innerText.toLowerCase().replace(/^\s+|\s+$/g,"")!=searchData.replace(/^\s+|\s+$/g,""))
                {                     
                    i--;
                    continue;
                }
            }
                //alert(i)
                // rows[i].click();
               // alert('done boss')   
               // rows[i].cells[colNo].blur()
                if ((document.getElementById('<%= hdn_value.ClientId %>').value!="")&&(document.getElementById('<%= hdn_value.ClientId %>').value!="undefined"))
                {
                    rows[document.getElementById('<%= hdn_value.ClientId %>').value].cells[colNo].style.backgroundColor=document.getElementById('<%= hdn_backColor.ClientId %>').value;
                }
                document.getElementById('<%= hdn_backColor.ClientId %>').value=rows[i].cells[colNo].style.backgroundColor;
                rows[i].cells[colNo].style.backgroundColor ='yellow';
                rows[i].scrollIntoView(false);
                document.getElementById('<%= hdn_value.ClientId %>').value = i; 
                break;
            }
            i--;   

        }
       // alert("hdn2:"+ document.getElementById('<%= hdn_value.ClientId %>').value);


        if (i == 0)
        {



            if (window.opener.document.getElementById('ctl00_toolbar1_ibtn_Next') != null)
            {
                if(yesno("Finished searching the current page. Do you want to search in the next page?", "Search") == 6)
                {
                    window.opener.document.getElementById('ctl00_toolbar1_ibtn_Next').click();
                }
            }
            else if (document.getElementById('<%= hdn_value.ClientId %>').value == "")
            {
            alert("Search Completed No Records Found");
            }

            else
            {
                alert('Search Completed');
            }
        }
    }
  //  alert('outside if');
    if (rowid != -1)
    {
   // alert('rowid'+rowid)
        window.returnValue = rowid;
        window.close;
    }
}

0 个答案:

没有答案