格式化DataGridView控件中的数据

时间:2013-11-06 22:04:55

标签: c# datagridview

OleDbDataAdapter Buscar = new OleDbDataAdapter("SELECT ...", conexao);
DataTable dt = new DataTable();
Buscar.Fill(dt);
OleDbDataAdapter sda = new OleDbDataAdapter();
BindingSource bSource = new BindingSource();

bSource.DataSource = dt;
dataGridView1.DataSource = bSource;
sda.Update(dt);

private void dataGridView1_DefaultCellStyleChanged(object sender, EventArgs e)
{
   this.dataGridView1.Columns[4].DefaultCellStyle.Format = "HH:mm";
}

信息来自datagridview数据库转换,希望它为HH:mm

2 个答案:

答案 0 :(得分:0)

您是否尝试将格式设为“T”?

建议查看此链接http://msdn.microsoft.com/en-us/library/az4se3k1.aspx?cs-save-lang=1&cs-lang=csharp#code-snippet-17

最佳,

答案 1 :(得分:0)

这是一个非常基本的例子,但它可以像你想要的那样工作:

DateTime dt = DateTime.Now;
dataGridView1.Columns[0].DataGridView.Rows.Add(dt);
dataGridView1.Columns[0].DefaultCellStyle.Format = "HH:mm";

当我运行应用程序时,它会返回“14:20”或“HH:mm”,如您所料。

修改

根据下面的评论,OP已声明他错误地表达了他的实际需求,因此,我正在使用将重新格式化日期的代码更新此答案(但保留原始代码以及彻底性)。

for (int i = 0; i < 5; i++)
{
    DateTime dt = DateTime.Now;
    dataGridView1.Columns[0].DataGridView.Rows.Add(dt);
    dataGridView1.Columns[0].DefaultCellStyle.Format = "T";

    foreach (DataGridViewColumn column in dataGridView1.Columns)
    {
       column.DefaultCellStyle.Format = "HH:mm";
    }
}

OP,请注意您的循环可能与我的不同,所以请记住这一点。只是为了让你可以看到我采取的方法来审核这个问题,我也会发布所有代码:

namespace WindowsFormsApplication1
{
   using System;
   using System.Windows.Forms;

   public partial class Form1 : Form
   {
      public Form1()
      {
         InitializeComponent();
      }

      private void button1_Click(object sender, EventArgs e)
      {
         for (int i = 0; i < 5; i++)
         {
            DateTime dt = DateTime.Now;
            dataGridView1.Columns[0].DataGridView.Rows.Add(dt);
            dataGridView1.Columns[0].DefaultCellStyle.Format = "T";

            foreach (DataGridViewColumn column in dataGridView1.Columns)
            {
                column.DefaultCellStyle.Format = "HH:mm";
            }
         }
      }
   }
}