我使用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属性时,它是空白的,如果我尝试设置它,它就不会改变。
提前致谢。
鲍勃
答案 0 :(得分: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,Kris。
答案 1 :(得分:0)
有几种方法可以做到这一点,我建议您更改RowDataBound事件中的值。
这是手动输入,因此可能存在拼写错误..
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";
}
}
答案 2 :(得分:0)
最佳是在Javascript中编辑:[如果你不使用ajax。]
$("#GridView1 tr td a").html("Custom_Delete_Text");
$("#GridView1 tr td a").addClass("another class you wish");