У меня проблема с форматом даты в ASPxGridView.
У меня есть приложение, в котором я использую AspxGridView. У меня есть столбец типа поля со списком, который содержит значения даты.
Столбец как
< dxwgv:GridViewDataComboBoxColumn Caption="SERVICE MONTH" Name="ServiceMonthComboBox" Visible=true VisibleIndex="1" FieldName="ServiceMonth">
< EditFormSettings VisibleIndex=1 Visible="false" />< CellStyle HorizontalAlign=Right />
< PropertiesComboBox Style-Font-Names="Verdana" Style-Font-Size="X-Small" TextField="ServiceMonth" ValueField="ServiceMonth">
< Style Font-Names="Verdana" Font-Size="X-Small">< /Style>
< /PropertiesComboBox>< EditFormCaptionStyle ForeColor="Maroon" />
< /dxwgv:GridViewDataComboBoxColumn>
Здесь ServiceMonth имеет тип DateTime.
При событии Page_Load я использую следующий код, чтобы связать данные даты с фильтром.
GridViewDataComboBoxColumn serviceMonthComboBox = CarHireExchangeGroupSummaryGridView.Columns["ServiceMonthComboBox"] as GridViewDataComboBoxColumn;
serviceMonthComboBox.PropertiesComboBox.ValueType = typeof(DateTime);
serviceMonthComboBox.PropertiesComboBox.Items.Clear();
var serviceMonths = (from item in Presenter.CurrentModel.CarHireExchangeGroupSummaryRecords
select (item.ServiceMonth)).Distinct();
foreach (var serviceMonth in serviceMonths)
{
serviceMonthComboBox.PropertiesComboBox.Items.Add(serviceMonth.ToString("MM/yyyy").Trim(), serviceMonth.ToString("MM/yyyy"));
}
Здесь я связываю это поле со списком всех отдельных ServiceMonth в моих записях.
Теперь я хочу, чтобы, поскольку пользователь фильтрует записи с использованием любого ServiceMonth, тогда записи должны получить фильтр. Для этого я использовал событие OnProcessColumnAutoFilter следующим образом:
protected void CarHireExchangeGroupSummaryGridView_OnProcessColumnAutoFilter(object sender, ASPxGridViewAutoFilterEventArgs e)
{
if (e.Kind == GridViewAutoFilterEventKind.CreateCriteria)
{
switch (e.Column.FieldName)
{
case "ServiceMonth":
if (!string.IsNullOrEmpty(e.Value))
{
((OperandValue)((BinaryOperator)e.Criteria).RightOperand).Value = Convert.ToDateTime(e.Value.ToString());
}
break;
}
}
}
Теперь моя проблема в том, что полученное мной значение выглядит примерно так: «Ср. 1 декабря 00:00:00 CST 2010», теперь, когда я пытаюсь преобразовать это в DateTime, как показано выше, это дает мне ошибка, что «Входная строка не в правильном формате DateTime»
Подскажите, пожалуйста, причину этого и способ, которым я могу решить свою проблему.