我使用sql DATEDIFF()
(返回类型:int)函数减去两次,并在asp.net应用程序中使用该值(以分钟为单位)。如果分钟数大于30,则应为红色。但我收到的错误是“输入字符串格式不正确。”
SQL DATEDIFF()
函数
Update lunTime
set lunTot = DATEDIFF(minute, lunIn, LunOut) from lunTime
现在在gridview中使用该值..
if (e.Row.RowType == DataControlRowType.DataRow)
{
int lunTot = Convert.ToInt16(e.Row.Cells[4].Text);
if (lunTot > 30)
{
e.Row.ForeColor = Color.Red;
}
}
答案 0 :(得分:0)
检查空值。除此之外,您的代码没有任何问题。
int? lunDateTotl = Int32.TryParse(stringVal, out tempVal) ? tempVal : (int?)null;
if (DBNull.Value != lunDateTotl)
{
lunDateTotl = Convert.ToInt16(e.Row.Cells[4].Text);
}
if (lunDateTotl > 30)
{
e.Row.ForeColor = Color.Red;
}
答案 1 :(得分:0)
您还可以按客户端脚本突出显示。
<asp:Label ID="lblUPSUserName" runat="server" Text='<%# Eval("lunTot") %>' CssClass='<%# Convert.ToInt32(Eval("lunTot")) > 30 ? "__IsActive" : "" %>'></asp:Label>
并在脚本块中
<script type="text/javascript">
function pageLoad() {
$(".__IsActive").closest('tr').addClass("highLight");
}
</script>
并将class放入style.css
<style type="text/css">
.highLight td {
background-color: green;
}
</style>