1

gridview コントロールを使用して asp.net で作業しています。そのように動的に作成するボタン列があります。

            ButtonField bfSelect = new ButtonField();
            bfSelect.HeaderText = "View";
            bfSelect.ButtonType = ButtonType.Link;
            bfSelect.CommandName = "View";
            bfSelect.Text = "View";

            grdAttachments.Columns.Add(bfSelect);

ボタンのテキストは、すべての行で同じです。条件に応じて、行ごとにテキストを変える方法があるかどうか疑問に思っていました。特定の行のテキスト プロパティを確認しようとすると空白になり、設定しようとしても変化しません。

前もって感謝します。

ボブ

4

3 に答える 3

1

RowDataBoundイベントで、現在の行を確認できます。例えば:

String text = ((Label)e.Row.FindControl("aLabel")).Text;
if(text == "Yes")
{
    ((LinkButton)e.Row.FindControl("bfSelect").Text = "Good to go!";
} 

このためには、ボタンの ID を bfSelect に設定する必要もあります。

Grz、クリス。

于 2010-06-17T15:04:36.743 に答える
0

一番いいのは Javascript での編集 : [ajax を使用しない場合]

$("#GridView1 tr td a").html("Custom_Delete_Text");
$("#GridView1 tr td a").addClass("another class you wish");

于 2012-08-05T03:36:00.257 に答える
0

これを行うにはいくつかの方法がありますが、RowDataBind イベントの値を変更することをお勧めします。

手書きなので誤字脱字があるかもしれません…

protected void myGridView_RowDataBound(object sender, GridViewRowEventArgs e)
{
  if (e.Row .RowType == DataControlRowType .DataRow )
  {
    Button button = (Button)e.Row.Cells[0].Controls[0];
    button.Text = "Your New Value";
  }
}
于 2010-06-17T14:58:33.900 に答える