C# 如何在dataGridView中转换日期时间?

C# 如何在dataGridView中转换日期时间?,c#,sqlite,datagridview,C#,Sqlite,Datagridview,我的数据库中有datetime列。我想绑定到DataGridView,但在将数据绑定到表时,DateTime格式有问题 我读到过这样的关于更改格式的datatime mydatagridView.Columns[0].dataGridViewCellStyle.Format = "dd/MM/yyyy"; 但它不起作用 这是使用数据库中的绑定数据的代码 Connect(); SQLiteCommand cmdDataBase=newsqlitecommand(“从数据库中选择日期”,Conne

我的数据库中有datetime列。我想绑定到
DataGridView
,但在将数据绑定到表时,
DateTime
格式有问题

我读到过这样的关于更改格式的datatime

mydatagridView.Columns[0].dataGridViewCellStyle.Format = "dd/MM/yyyy";
但它不起作用

这是使用数据库中的绑定数据的代码

Connect();
SQLiteCommand cmdDataBase=newsqlitecommand(“从数据库中选择日期”,Connect());
尝试
{
SQLiteDataAdapter sda=新的SQLiteDataAdapter();
sda.SelectCommand=cmdDataBase;
DataTable dbdataset=新DataTable();
sda.Fill(数据库数据集);
BindingSource bSource=新的BindingSource();
bSource.DataSource=dbdataset;
dataGridView1.DataSource=bSource;
sda.Update(数据库数据集);
}
捕获(例外情况除外)
{
MessageBox.Show(例如Message);
}

我认为问题在于
数据表
中第一列的
列类型
可能未定义为
日期时间
,因此它无法识别格式模式

为了更新列类型,必须编辑
DataTable
,但是,一旦DataTable中填充了数据,就不允许编辑列,也不允许编辑列,因为您使用
.Fill()
方法动态地进行编辑

但是,您可以创建DataTable结构的克隆并应用所需的列修改,然后将数据从一个复制到另一个

SQLiteDataAdapter sda = new SQLiteDataAdapter();
sda.SelectCommand = cmdDataBase;
DataTable dbdataset = new DataTable();
sda.Fill(dbdataset);

DataTable dbdatasetclone = dbdataset.Clone();
dbdatasetclone.Columns[0].DataType = typeof(DateTime);           
foreach (DataRow row in dbdataset.Rows)
{
    dbdatasetclone.ImportRow(row);
}

BindingSource bSource = new BindingSource();
bSource.DataSource = dbdatasetclone;
dataGridView1.DataSource = bSource;
dataGridView1.Columns[0].DefaultCellStyle.Format = "dd/MM/yyyy";

我认为问题在于
数据表
中第一列的
列类型
可能没有定义为
日期时间
,因此它无法识别格式模式

为了更新列类型,必须编辑
DataTable
,但是,一旦DataTable中填充了数据,就不允许编辑列,也不允许编辑列,因为您使用
.Fill()
方法动态地进行编辑

但是,您可以创建DataTable结构的克隆并应用所需的列修改,然后将数据从一个复制到另一个

SQLiteDataAdapter sda = new SQLiteDataAdapter();
sda.SelectCommand = cmdDataBase;
DataTable dbdataset = new DataTable();
sda.Fill(dbdataset);

DataTable dbdatasetclone = dbdataset.Clone();
dbdatasetclone.Columns[0].DataType = typeof(DateTime);           
foreach (DataRow row in dbdataset.Rows)
{
    dbdatasetclone.ImportRow(row);
}

BindingSource bSource = new BindingSource();
bSource.DataSource = dbdatasetclone;
dataGridView1.DataSource = bSource;
dataGridView1.Columns[0].DefaultCellStyle.Format = "dd/MM/yyyy";

你有什么问题?没有数据出现?向我们展示表格定义我无法将日期时间格式从数据库绑定到DataGridView您有什么问题?没有数据出现?向我们显示表定义我无法将日期时间格式从数据库绑定到datagridView