我一直在研究GridViews的条件格式,但我是ASP.Net的新手并且很难过.这是我发现的对我最有意义的代码:
protected void GridviewRowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
int CellValue = Convert.ToInt32(e.Row.Cells[2].Text);
if (CellValue >= 0)
{
e.Row.Cells[2].BackColor = System.Drawing.Color.Green;
}
if (CellValue < 0)
{
e.Row.Cells[2].BackColor = System.Drawing.Color.Red;
}
}
}
Run Code Online (Sandbox Code Playgroud)
GridView非常简单:标题行和三列,标题下有一行,每列中有一个货币金额.我只需要第二行上的数据单元格,如果> = 0则第三列为绿色,如果<0则为红色.
我在int CellValue =行上获得的格式不正确.
我有一个按日期排列的项目表(每一行都是一个新日期)。我正在从另一列 D 中提取一个值。不过我需要它来替换 0。我需要以下逻辑:当该日期的 D=0 时,使用前一天 D 列中的值。
实际上,说实话,我需要说的是,当 D 为 0 时,使用 D 不为 0 的最新日期的值,但第一个将让我大部分顺利完成。
有没有办法建立这个逻辑?也许是 CTE?
非常感谢。
PS 我正在使用 SSMS 2008。
编辑:一开始我不太清楚。我要更改的值不是日期。我想根据日期将 D 中的值更改为 D 中最新的非零值。
sql sql-server common-table-expression sql-server-2008 case-when