2016-07-28 83 views
1

我目前正在使用使用Infragistics WebDataGrid控件編寫的實用程序。該工具允許用戶從下拉列表中選擇一個表格,在這個表格中,它運行存儲過程以從SQL Server獲取數據,然後綁定到網格。如何爲Infragistics WebDataGrid中的動態添加列設置格式?

一切都得到一個默認格式,在這種情況下,對於日期時間列,只是MM/DD/YYYY。有一個請求包含至少一個這些列的時間組件。

經過多次搜索,我試圖添加代碼到_InitializeRow事件處理程序的網格,但我似乎無法得到它很正確。下面是我想出:

if (e.Row.Index == 0) 
{ 
    foreach (GridRecordItem field in e.Row.Items) 
    { 
     if (field.Column.Key == "InsertedOnCC") 
      field.Column.FormatValue = "{0:g}"; 
    } 
} 

這給了我一個錯誤,FormatValue不能分配一個值,因爲它是一個方法組。

這是從幾個來源拼湊起來的,其中沒有一個做得相當我想要做的。例如,一個樣本代碼只是總是假定所討論的列是第一列,所以我必須添加foreach循環。

我見過很多提到BoundDataFieldDataFormatString,但我似乎無法真正找到如何訪問這些。

注意:我實際上是一個SQL開發人員,而不是C#開發人員,所以請溫和。 :)

謝謝!

回答

2

我能夠通過鑄造Column作爲BoundDataField然後使用DataFormatString從那裏來排序了這一點:

 if (e.Row.Index == 0) 
     { 
      foreach (GridRecordItem gri in e.Row.Items) 
      { 
       BoundDataField field = gri.Column as BoundDataField; 

       if (field.Key == "InsertedOnCC") 
        field.DataFormatString = "{0:g}"; 
      } 
     } 
相關問題