C # Только хочу, чтобы отображать время в Datatable (не Дата) - PullRequest
1 голос
/ 18 января 2012

Следующий код создает таблицу данных, которая затем используется в качестве источника данных для сетки данных.

 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 ]

8 голосов
/ 18 января 2012

Пожалуйста, ознакомьтесь с этой темой 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.

0 голосов
/ 27 апреля 2013

Мой ответ, для моих работ

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

[3] - мой столбец для установленного часа, первый столбец [0] - индекс

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...