我需要在gridview中格式化2个完整列,具体取决于单元格是否包含字符串" yes"或"不"。我到处都试图找到一些东西来完成我想要做的事情,并且无法根据字符串找到任何东西,只有int值。
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
GridView gv = (GridView)e.Row.FindControl("GridView2");
var ds = new SqlDataSource();
ds.ConnectionString = ConfigurationManager.ConnectionStrings["HUTDMSConnectionString"].ConnectionString;
ds.SelectCommand = "SELECT * FROM textBooks WHERE CourseID = '" + GridView1.DataKeys[e.Row.RowIndex].Value + "' ORDER BY BookTitle";
gv.DataSource = ds;
gv.DataBind();
}
}
我知道条件格式在gridview_rowdatabound
范围内
事件
到目前为止我所拥有的:
protected void GridView2_RowDataBound(object sender, GridViewRowEventArgs e) {
if (e.Row.RowType == DataControlRowType.DataRow && ((e.Row.RowState & DataControlRowState.Edit) == 0))
{
var valueFetched = ((TableCell)(e.Row.Cells[3].FindControl("no"))).Text;
if (valueFetched == "no")
{
foreach (var cell in e.Row.Cells)
((TableCell)cell).BackColor = Color.Red;
}
}
}
答案 0 :(得分:0)
看看这个例子来获得一些方向。此代码位于RowDataBound
if (e.Row.RowType == DataControlRowType.DataRow && ((e.Row.RowState & DataControlRowState.Edit) == 0))
{
var valueFetched = ((Label)(e.Row.Cells[1].FindControl("yourControlId"))).Text;
if (valueFetched == "1")
{
foreach (var cell in e.Row.Cells)
((TableCell)cell).BackColor = System.Drawing.Color.LightBlue;
}
}