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

ただし、セッションの最後のインデックス値が必要です。

グリッドをどのようにバインドしているかはわかりませんが、1 つのオプションは次のとおりです。

    List<ClassName> data = GetData(...);
    GridView1.DataSource = data;
    GridView1.DataBind();
    Session["LastIndex"] = data.Count - 1;
于 2012-04-26T07:36:28.980 に答える
0

あなたが試すことができることの1つは、このようにその特定のセルに一意の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 に答える