如何在 Infragistics WebDataGrid 中为动态添加的列设置格式?
How do I set formatting for a dynamically added column in Infragistics WebDataGrid?
我目前正在使用一个使用 Infragistics WebDataGrid 控件编写的实用程序。该工具允许用户从下拉列表中 select table,此时它运行存储过程以从 SQL 服务器获取数据,然后将其绑定到网格。
一切都有一个默认格式,在这种情况下,日期时间列就是 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
不能赋值,因为它是一个方法组。
这是从多个来源拼凑而成的,none 其中的内容完全符合我的要求。例如,一段示例代码总是假设有问题的列是第一列,所以我不得不添加 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}"
我目前正在使用一个使用 Infragistics WebDataGrid 控件编写的实用程序。该工具允许用户从下拉列表中 select table,此时它运行存储过程以从 SQL 服务器获取数据,然后将其绑定到网格。
一切都有一个默认格式,在这种情况下,日期时间列就是 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
不能赋值,因为它是一个方法组。
这是从多个来源拼凑而成的,none 其中的内容完全符合我的要求。例如,一段示例代码总是假设有问题的列是第一列,所以我不得不添加 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}"