数据库中一个列是日期类型可以为空,当它为空的时候,在gridview中显示要成空白
展开全部
你只需在后台代码中写个方法就好,判断一下当获取的日期字段为空的时候,则返回空字符串;不为空的时候,直接显示转换为字符串后的日期值。上代码:
//将前台的gridview中的日期列id绑定的值传入
protected string ChangeDate(string strGetDate) //strGetDate为你原本绑定在gv中的日期
{
if (strGetDate != "")
{
return strGetDate;
}
else
{
return "";
}
}
前台:
<asp:TemplateField HeaderText="创建日期">
<ItemTemplate>
<asp:Label ID="labelCreateTime" runat="server" Text='<%#ChangeDate(Eval("你的数据表日期字段名")) %>' Visible="true"></asp:Label>
</ItemTemplate>
</asp:TemplateField>
当然实现的前提是你的这个gridview要先绑定好你即将显示的数据。
//将前台的gridview中的日期列id绑定的值传入
protected string ChangeDate(string strGetDate) //strGetDate为你原本绑定在gv中的日期
{
if (strGetDate != "")
{
return strGetDate;
}
else
{
return "";
}
}
前台:
<asp:TemplateField HeaderText="创建日期">
<ItemTemplate>
<asp:Label ID="labelCreateTime" runat="server" Text='<%#ChangeDate(Eval("你的数据表日期字段名")) %>' Visible="true"></asp:Label>
</ItemTemplate>
</asp:TemplateField>
当然实现的前提是你的这个gridview要先绑定好你即将显示的数据。
展开全部
是不是空值的出现了 0001:01:00 00 00 之类的?
如果是,参考下面的方法:
foreach (DataGridViewRow dr in dataGridView1.Rows)
{
if (dr.Cells[时间列].Value.ToString() == "" || Convert.ToDateTime(dr.Cells[时间列].Value) == DateTime.MinValue)
dr.Cells[时间列].Value = "";
}
如果是,参考下面的方法:
foreach (DataGridViewRow dr in dataGridView1.Rows)
{
if (dr.Cells[时间列].Value.ToString() == "" || Convert.ToDateTime(dr.Cells[时间列].Value) == DateTime.MinValue)
dr.Cells[时间列].Value = "";
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
因为数据库中的日期为null时,默认返回一个最小日期,如0001-01-01;此时DataGrid要想不显示,可将DataGrid绑定日期的字段变成String类型,然后转换成空字符串。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
没弄明白你要实现的是什么效果,如果你是要在GridView里面显示为空的话。
你不绑定字段就行了!
你不绑定字段就行了!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |