如何更改数据集值并将其传递给数据透视
本文关键字:数据 透视 何更改 数据集 | 更新日期: 2023-09-27 18:26:30
我有一个带有TableAdapter的数据集,当我说这样的时
this.medicineDatasetTableAdapter.Fill(this.statisticsDataset.MedicineDataset);
它给我带来了数据库中的所有结果,我使用DevExpress控件中的数据透视来显示它们。我使用sqlite作为数据库,并将日期时间(例如"2012年1月4日")存储在一个文件中作为字符串,以及何时从数据透视表中显示时间,分组为DateMonth或其他。。什么都没有出现。我认为pivot不理解分组日期的格式。。现在,我尝试使用GetData命令从数据集中获取DataTable,并将日期时间更改为正确的日期,然后用正确的日期结果再次填充它。我试过的一种方法是像
StatisticsDataset.MedicineDatasetDataTable datatable = this.medicineDatasetTableAdapter.GetData();
DataTable a = this.medicineDatasetTableAdapter.GetData();
foreach (DataRow row in a.Rows)
{
DateTime tempDate = DateTime.ParseExact(row.ItemArray[4].ToString(), Resources.ShortDateFormat, new CultureInfo(Resources.CurrentCulture));
row[4] = tempDate;
}
this.statisticsDataset.MedicineDataset = a;
//this.medicineDatasetTableAdapter.Fill(this.statisticsDataset.MedicineDataset);
this.medicineDatasetTableAdapter.Fill((MedExpress.Dataset.StatisticsDataset.MedicineDatasetDataTable)a);
但它不起作用。有什么建议吗??
这似乎是一个类型问题。
查看代码,您将从"Text"单元格中获取数据,将其转换为DateTime,然后将值复制回同一个"Text"单元(这将把值强制转换回字符串!)。我建议。。。
-
为MedicineDatasetDataTable创建一个新的强类型DateTime单元格,并将解析的值复制到该单元格中。
-
为什么要麻烦将DateTime值存储为字符串呢?实际上所有的数据库产品(对不起,我从未使用过SQLLite)都支持这种数据类型,而且在强类型的场景中,不需要转换值。