【发布时间】:2023-03-27 01:25:02
【问题描述】:
我试图在 asp.net gridview 中显示一个 SQL 服务器表。 SQL server 数据库中有很多表,用户选择一个表,该表应显示在 gridview 中。对于 sql server 表中的所有日期时间列,我只需要显示日期。
我使用 SQLDataReader 读取数据并将数据加载到数据表中。如果单元格是日期类型,那么我正在尝试将其转换为仅日期格式,如下图所示。
我厌倦了使用 date.toString("MM/dd/yyyy") 转换日期,但无法在数据表中对其进行编辑。图像中的变量 a 显示了整个日期和时间。任何人都可以帮助进行所需的更改,以便仅在日期列中显示日期。
我最初尝试将变量 b 值推送到数据表但无法成功,然后我尝试再次将其转换为日期并尝试。没有任何改变:(
编辑:这是代码
for (int i =0; i<table.Rows.Count;i++)
{
DataRow row = table.Rows[i];
for (int j = 0; j < table.Columns.Count; j++)
{
string t = table.Rows[i][j].GetType().ToString();
if (table.Rows[i][j].GetType().Equals(typeof(DateTime)))
{
mydate = DateTime.Parse(table.Rows[i][j].ToString());
var b = mydate.Month + "/" + mydate.Day + "/" + mydate.Year;
var c = DateTime.Parse(b.ToString());
var d = c.ToString("MM/dd/yyyy");
table.Rows[i].SetField(j, c.ToString("MM/dd/yyyy"));
var a = table.Rows[i][j];
}
}
}
【问题讨论】:
-
请考虑添加Minimal, complete and verifiable example,以便我们能够重现您的问题并为您提供帮助。不要发布代码的图像,请发布代码本身。
-
@gillduck 用户选择不同的表。有些可能有日期列,有些可能没有。所以我不能选择使用列名。
-
@Stormhashe,我把图片贴出来让大家调试后可以看到数值。
-
您是否尝试设置列格式 - 类似于 - table.Columns["colname"].DefaultCellStyle.Format = "your format"
标签: c# asp.net datetime datatable