C#只想在数据表中显示时间(不是日期)

时间:2012-01-18 08:25:49

标签: c# datagridview datatable

以下代码创建一个数据表,然后将其用作datagridview的数据源。

 public void PopulateTimesheet()
    {
        DataTable dT = new DataTable();

        dT.Columns.Add("Case No", typeof(string));
        dT.Columns.Add("Charge Code", typeof(string));
        dT.Columns.Add("Start Time", typeof(DateTime));            
        dT.Columns.Add("End Time", typeof(DateTime));
        dT.Columns.Add("Units", typeof(int));
        dataTimeSheet.DataSource = dT;
    }

然而,两个日期时间字段显然显示整个日期&时间,即18/01/2012 08:23,我只想显示时间08:23(最好是24小时模式)。但我无法找到办法。还有一种方法可以添加相同格式的掩码,以确保用户以正确的格式输入时间。

感谢所有人,期待他们的帮助。

2 个答案:

答案 0 :(得分:8)

请参阅此MSDN主题,该主题可以准确地告诉您该做什么:http://msdn.microsoft.com/en-us/library/f9x2790s.aspx

dataGridView1.Columns["Start Time"].DefaultCellStyle.Format = "HH:mm:ss";

假设您的DataGridView名为dataGridView1。

至于输入掩码 - 一些谷歌搜索告诉我你必须为此创建自己的单元格类型。我发现这个代码项目文章详细介绍了一个现成的解决方案:http://www.codeproject.com/KB/grid/DataGridViewMaskedText.aspx

答案 1 :(得分:0)

我的回答,我的作品

this.dataGridView.Columns[3].DefaultCellStyle.Format = "HH:mm:ss";

[3] - 我的设置小时列,第一列[0]是索引