2013-03-26 55 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