我有GridView(动态创建)与BoundFields.我想在DataBound事件上更改BoundField值.该值包含布尔值(True/False),我需要将它们更改为"Active"/"Inactive".如果这不是动态GridView,我会使用TemplateField,但是,当我动态创建GridView时,最简单的方法是在BoundField中进行.
但我不明白如何改变它.
这是我正确触发的DataBound事件:
protected void gr_RowDataBound(object sender, GridViewRowEventArgs e)
{
DataRowView drv = (DataRowView)e.Row.DataItem;
if (e.Row.RowType == DataControlRowType.DataRow)
{
if (drv["IsRegistered"] != DBNull.Value)
{
bool val = Convert.ToBoolean(drv["IsRegistered"]);
//???? HOW TO CHANGE PREVIOUS VALUE TO NEW VALUE (val) HERE?
}
}
}
Run Code Online (Sandbox Code Playgroud)
随着BoundFields你不能使用FindControl在一个TemplateField找到一个控件来设置它Text的实例属性.相反,你设置Cell-Text:
protected void gr_RowDataBound(object sender, GridViewRowEventArgs e)
{
DataRowView drv = (DataRowView)e.Row.DataItem;
if (e.Row.RowType == DataControlRowType.DataRow)
{
if (drv["IsRegistered"] != DBNull.Value)
{
bool val = Convert.ToBoolean(drv["IsRegistered"]);
// assuming that the field is in the third column
e.Row.Cells[2].Text = val ? "Active" : "Inactive";
}
}
}
Run Code Online (Sandbox Code Playgroud)
除此之外,您TemplateFields甚至可以在动态中使用GridView.
| 归档时间: |
|
| 查看次数: |
10788 次 |
| 最近记录: |