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

PJW*_*PJW 1 c# datatable datagridview

以下代码创建一个数据表,然后将其用作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;
    }
Run Code Online (Sandbox Code Playgroud)

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

感谢每个人都期待他们的帮助.

And*_*tan 8

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

dataGridView1.Columns["Start Time"].DefaultCellStyle.Format = "HH:mm:ss";
Run Code Online (Sandbox Code Playgroud)

假设您的DataGridView被称为dataGridView1.

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