2011-05-17 335 views
1

我收到與ASPxGridView中的日期格式相關的問題。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是日期時間類型的。

在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; 
       } 
      } 
} 

現在,我的問題是,我得到的價值是這樣的:「週三12月1日00:00:00 CST 2010」,現在,當我試圖將此轉換爲DateTime作爲上面的代碼,它給我的錯誤,「輸入字符串不是在適當的日期時間格式」

你能告訴我這樣做的原因和通過我可以解決我的方式問題。

回答

1

嘗試設置PropertiesComboBox.ValueType爲System.DateTime其項目的AutoFilterRow的ASPxComboBox編輯轉換價值強制的日期時間值:

<PropertiesComboBox ... ValueType="System.DateTime"></PropertiesComboBox>