如何更改数据集值并将其传递给数据透视

本文关键字:数据 透视 何更改 数据集 | 更新日期: 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)都支持这种数据类型,而且在强类型的场景中,不需要转换值。