【问题标题】:format data in the DataGridView control格式化 DataGridView 控件中的数据
【发布时间】:2013-11-06 22:04:55
【问题描述】:
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

【问题讨论】:

    标签: c# datagridview


    【解决方案1】:

    您是否尝试将格式用作“T”?

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

    最好的,

    【讨论】:

      【解决方案2】:

      这是一个非常基本的示例,但它的工作原理与您希望的一样:

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

      当我运行应用程序时,它会返回“14:20”或“HH:mm”,正如您所期望的那样。

      编辑:

      根据下面的 cmets,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";
                  }
               }
            }
         }
      }
      

      【讨论】:

      • ![在此处输入图片描述][1] [1]:i.stack.imgur.com/Etr0v.png想拍的日期只读想离开小时
      • 如果你想要日期,你为什么在你的问题中说小时?
      • 那么,您是否要删除日期并将小时数保留在行中? (只是为了清楚,因为我将不得不编辑我的答案。)
      • 是的,删除仅保留小时的日期
      • @Fellipe Pires - 我已经更新了我的答案。请看一看。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-12-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多