1

gridview我禁用了我的特定单元格,page load如下所示

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');
}

但对我不起作用..

4

3 回答 3

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();");    

试试这个..希望这会帮助你..

于 2012-04-26T07:47:14.567 回答
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;
于 2012-04-26T07:36:28.980 回答
0

您可以尝试的一件事是您可以像这样为特定单元格分配一个唯一的 css 类

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

广告然后在页面加载后执行脚本(在此处参考此链接)

使用 jQuery

$(document).ready(function(){ 
$(".className").live("click", function(){
alert('no more rows found to copy');
});
});
于 2012-04-26T07:38:01.343 回答