Como formatar colunas DateTime no DataGridView?

Estou usando um DataGridView com binding de dados de object para exibir informações sobre o registro de entidades em um sistema, recuperadas via SOAP de um serviço remoto. Uma das colunas é chamada “Última ação” e significa a última vez que a entidade registrou uma mensagem. É um valor System.DateTime . Quando eu leio a resposta SOAP (exemplo abaixo), o timestamp obviamente contém todas as informações, até as segundas frações.

  marty86ce 10148 http_core httpd true 2010-10-27T12:00:19.5117509Z 0001-01-01T00:00:00 em_9BA2A2B4D0B6E66 em_E7C8D1D4DE8EEB9  

Quando eu o exibo na mesa, posso ler até os minutos http://i.stack.imgur.com/dLYBz.png Eu uso o seguinte código para fazer a binding de dados quando pressiono o botão de atualização

 public void RefreshEntities() { IEntityManagement management = EntityPlugin.GetProxy(); LoggingEntity[] result = management.FindLoggingEntities(new TemplateQuery { ffdaSpecified = true, ffda = true }); //Remote invocation Invoke(new MethodInvoker(delegate { gridEntities.DataSource = result; })); //THIS does the data binding from the array Invoke(new MethodInvoker(delegate { btnRefresh.Enabled = true; })); } 

Gostaria de saber como controlar a formatação de colunas de valores vinculados a dados. Eu acho que o formato dd / MM / aaaa hh: mm vem das configurações do meu sistema. Como sobrescrever configurações de formatação programaticamente?

Agradeço antecipadamente

Código de solução completo no Subversion (programa FFDAGUI) para o projeto de código aberto Logbus-ng.

   

Se for um formulário do Windows DataGrid, você pode usar o código abaixo para formatar o datetime de uma coluna

 dataGrid.Columns[2].DefaultCellStyle.Format = "MM/dd/yyyy HH:mm:ss"; 

EDITAR:

Além disso, se você precisar do datetime no formato AM / PM, poderá usar o código abaixo

 dataGrid.Columns[2].DefaultCellStyle.Format = "MM/dd/yyyy hh:mm:ss tt"; 

Use a propriedade Column.DefaultCellStyle.Format ou defina-a no designer

Você pode definir o formato desejado:

 dataGridViewCellStyle.Format = "dd/MM/yyyy"; this.date.DefaultCellStyle = dataGridViewCellStyle; // date being a System.Windows.Forms.DataGridViewTextBoxColumn 

Você pode definir o formato em aspx, basta adicionar a propriedade “DateFormatString” no seu campo de limite.

 DataFormatString="{0:dd/MM/yyyy hh:mm:ss}" 

Eu usei esses códigos Espero que possa ajudar

 dataGridView2.Rows[n].Cells[3].Value = item[2].ToString(); dataGridView2.Rows[n].Cells[3].Value = Convert.ToDateTime(item[2].ToString()).ToString("d"); 

Publicado pela Microsoft em strings de formato de data e hora padrão :

 dataGrid.Columns[2].DefaultCellStyle.Format = "d"; // Short date 

Isso deve formatar a data de acordo com as configurações de local da pessoa.

Isso faz parte da maior coleção de tipos de formatação da Microsoft no .NET .