2013-04-10 56 views
0

我在asp.net中編寫了一個用於更改gridview單元格顏色的java腳本。該函數如下所示。使用javascript更改單元格的顏色

 function hello() { 
      var gvDrv = document.getElementById("<%= gridviewSearchResult.ClientID %>"); 
      for (i = 1; i < gvDrv.rows.length; i++) { 

       var cell = gvDrv.rows[i].cells; 
       var HTML = cell[0].innerHTML; 

       if (cell[1].innerHTML == "Combivent") { 
        gvDrv.rows[i].cells[2].className = " PendingRowStyle"; 
       } 
       else { 

       } 
      } 
     } 

如果單元格內容是「必特」,我申請的CSS類PendingRowStyle一列。

我在按鈕的onclientclick事件上調用此函數。

現在的問題是,它根據條件改變單元格的顏色。但只要將其保留到舊階段。它就像是爲細胞閃爍着那種顏色。爲什麼這種顏色不能堅持到那個細胞。那是什麼邏輯?我該如何處理這個問題?

注:我加載了頁面加載事件中的gridview,在if(!ispostback)中。

任何一個可以給我一個解決方案嗎?

+1

小心用'i' =>'變種I = 1' – elclanrs 2013-04-10 06:39:20

+0

http://stackoverflow.com/questions/7819638/how-to-change-the-gridview-row-colours-in-on-click-in-javascript?rq = 1 – 2013-04-10 06:41:30

+0

你的意思是?你能解釋一下嗎? – user2223819 2013-04-10 06:44:41

回答

0

在頁面加載

if(!isPostback) 
{ 
FillGridview() 
} 

和在服務器側按鈕點擊

protected void Button_Click(object sender, EventArgs e) 
{ 

Page.ClientScript.RegisterStartupScript(this.GetType(), "onclick", "<script anguage=javascript>hello();</script>"); 

}