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

按钮上的文本对于每一行都是相同的。我想知道是否有任何方法可以根据条件使不同行的文本有所不同。当我尝试查看特定行的 text 属性时,它是空白的,如果我尝试设置它,它不会改变。

提前致谢。

鲍勃

4

3 回答 3

1

in the RowDataBound event you can check the current row. For example:

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

For this you also need to set the ID of the button to bfSelect.

Grz, Kris.

于 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 回答