Как изменить значения набора данных и передать его в сводку - PullRequest
1 голос
/ 01 марта 2012

У меня есть набор данных с TableAdapter, и когда я говорю что-то вроде этого

this.medicineDatasetTableAdapter.Fill(this.statisticsDataset.MedicineDataset);

Он приносит мне все результаты из базы данных, и я показываю их, используя сводку из элемента управления DevExpress. Я использую sqlite в качестве базы данных, и я храню в поле даты и времени, например, «1/4/2012» в виде строки, и когда наступает время для отображения из сводной таблицы с группировкой в ​​качестве DateMonth или чем-то еще… ничего не отображается. Я думаю, что сводный не понимает формат для группировки дат .. Теперь я пытаюсь получить DataTable из DataSet с помощью команды GetData, изменить дату и время на правильную дату и снова заполнить ее правильными результатами дат. Один способ, которым я попробовал, похож на

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);

Но это не работает. Любые предложения, пожалуйста ??

1 Ответ

1 голос
/ 01 марта 2012

Конечно, похоже, проблема типа.

Глядя на код, вы берете данные из ячейки «Текст», конвертируете их в DateTime, а затем копируете значение обратно в ту же ячейку «Текст» (что приведет к преобразованию значения обратно в строку!) , Я бы предложил либо ...

  • Создайте новую строго типизированную ячейку DateTime для вашей MedicineDatasetDataTable и скопируйте проанализированное значение в эту ячейку.

  • Зачем хранить значения DateTime в виде строки, практически все продукты баз данных (извините, я никогда не использовал SQLLite) поддерживают этот тип данных, и в строго типизированном сценарии преобразовывать значения не нужно.

...