2012-04-26 98 views
1

我在page load禁用我gridview的特定小區的JavaScript函數如下如何提醒在GridView的細胞

grdInvoice.Rows[grdInvoice.Rows.Count-1] 
      .Cells[6].Enabled = false; 

現在我想申請一個JavaScript警告功能,該單元

我想這

grdInvoice.Rows[grdInvoice.Rows.Count-1] 
      .Cells[6].Attributes.Add["onclick"]="f1();" 

我的功能如下

<script type="text/javascript"> 
function f1() { 
    alert('no more rows found to copy'); 
} 

但對我來說沒有工作..

+0

我覺得你的屬性添加方法應該是這樣的 grdInvoice.Rows [grdInvoice.Rows.Count-1] .Cells [6]。 Attributes.Add(「onclick」,「return f1();」); – Mac 2012-04-26 07:01:38

+0

我也試過,但沒有爲我工作 – Dotnet 2012-04-26 07:06:08

+0

所以,如果我的理解是正確的,你想在點擊禁用的gridview單元格後執行javascript函數,請確認! – Mac 2012-04-26 07:09:45

回答

1

你可以設置如下的屬性。

grdInvoice.Rows[grdInvoice.Rows.Count - 1].Cells[6].Attributes.Add("disabled", "disabled"); 
grdInvoice.Rows[grdInvoice.Rows.Count - 1].Cells[6].Attributes.Add("onclick", "javascript:f1();");  

試試這個..hope這將幫助您..

+0

感謝普拉卡什..它的工作原理 – Dotnet 2012-04-26 08:09:15

0

可以使用RowDataBound事件。像這樣:

protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e) 
    { 
     int? index = Session["LastIndex"] as int?; 

     if (index != null && e.Row.RowType == DataControlRowType.DataRow && e.Row.RowIndex == index) 
     { 
      e.Row.Attributes["onclick"] = "f1()"; 
     } 
    } 

但是你應該有會話中的最後一個索引值。

我不知道你是怎麼結合你的網,但一個選項是這樣的:

List<ClassName> data = GetData(...); 
    GridView1.DataSource = data; 
    GridView1.DataBind(); 
    Session["LastIndex"] = data.Count - 1; 
0

一件事你可以嘗試是可以唯一的CSS類分配給特定的細胞像這樣

grdInvoice.Rows[grdInvoice.Rows.Count-1] 
      .Cells[6].CssClass = "className"; 

廣告然後執行頁面加載腳本後(請參閱此鏈接在這裏here

使用jQuery

$(document).ready(function(){ 
$(".className").live("click", function(){ 
alert('no more rows found to copy'); 
}); 
});