[英]How do I set formatting for a dynamically added column in Infragistics WebDataGrid?
我目前正在使用使用 Infragistics WebDataGrid 控件編寫的實用程序。 該工具允許用戶從下拉列表中選擇一個表,然后運行存儲過程從 SQL Server 獲取數據,然后將其綁定到網格。
一切都有一個默認格式,在這種情況下,日期時間列只是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
循環。
我已經看到很多人提到BoundDataField
和DataFormatString
,但我似乎無法真正找到如何訪問它們。
注意:我實際上是一名 SQL 開發人員,而不是 C# 開發人員,所以請保持溫和。 :)
謝謝!
我能夠通過將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}";
}
}
使用上面的信息,我能夠讓它工作。 清潔工。 不需要循環:
TryCast(.Rows(0).Items.FindItemByKey("MyColumnName").Column, Infragistics.Web.UI.GridControls.BoundDataField).DataFormatString = "{0:G}"
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.