2013-03-26 58 views
2

我有一个文本框和一个按钮,并且我有一个很长的GridView(我不想分页),所以我把它放在一个Div启用垂直滚动条。如何滚动到gridview中的特定记录是在div

我只是想在文本框中输入搜索字符串,如果我点击按钮,它应该找到匹配字符串的行并设置其背景色,并且应该滚动到该行。

这应该用Javascript完成。 我可以做任何事情,但没有运气滚动到找到的行。

JavaScript函数是像下面

function NextClinic() { 

      var gvClinics = document.getElementById("<%= gvClinics.ClientID %>"); 
      var FindText = document.getElementById("<%= txtClinicKeywords.ClientID %>").value; 
      var oRows = gvClinics.rows; 
      var rawDataRows = new Array(); 
      var cell; 
      var hdnCounterNext = document.getElementById("<%= hdnCounterNext.ClientID %>").value; 
      for (var i = hdnCounterNext; i < oRows.length; i++) { 
       var cell = gvClinics.rows[i].cells[3]; 
       if (cell.innerHTML.indexOf(FindText) !== -1) { 
        alert("found at " + i); 
        document.getElementById("<%= hdnCounterNext.ClientID %>").value = i+1 
        return false; 
       } 
      } 
     } 

甲最好的建议是高度赞赏..

由于 斯里兰卡。

回答

1

使用scrollIntoView方法

function NextClinic() { 

      var gvClinics = document.getElementById("<%= gvClinics.ClientID %>"); 
      var FindText = document.getElementById("<%= txtClinicKeywords.ClientID %>").value; 
      var oRows = gvClinics.rows; 
      var rawDataRows = new Array(); 
      var cell; 
      var hdnCounterNext = document.getElementById("<%= hdnCounterNext.ClientID %>").value; 
      for (var i = hdnCounterNext; i < oRows.length; i++) { 
       var cell = gvClinics.rows[i].cells[3]; 
       if (cell.innerHTML.indexOf(FindText) !== -1) { 
        alert("found at " + i); 
        cell.scrollIntoView(); 
        document.getElementById("<%= hdnCounterNext.ClientID %>").value = i+1 
        return false; 
       } 
      } 
     } 

example

+0

完美...感谢队友 – Srinivas 2013-03-26 06:22:09

相关问题