Gridview изменяет текст в столбце кнопки - PullRequest
1 голос
/ 17 июня 2010

Я работаю в asp.net, используя элемент управления gridview.У меня есть столбец кнопки, который я создаю динамически как таковой:

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

            grdAttachments.Columns.Add(bfSelect);

Текст на кнопке одинаков для каждой строки.Мне было интересно, если есть какой-либо способ, чтобы текст был различным для разных строк в зависимости от условия.Когда я пытаюсь посмотреть свойство текста определенной строки, оно пустое, если я пытаюсь установить его, оно не изменяется.

Заранее спасибо.

Боб

Ответы [ 3 ]

1 голос
/ 17 июня 2010

в событии RowDataBound вы можете проверить текущую строку.Например:

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

Для этого вам также необходимо установить идентификатор кнопки на bfSelect.

Grz, Kris.

0 голосов
/ 05 августа 2012

Лучше всего редактировать в Javascript: [Если вы не используете ajax.]

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

0 голосов
/ 17 июня 2010

Есть несколько способов сделать это, вне головы, я предлагаю вам изменить значение в событии 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";
  }
}
...