繁体   English   中英

如何在 Infragistics WebDataGrid 中为动态添加的列设置格式?

[英]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循环。

我已经看到很多人提到BoundDataFieldDataFormatString ,但我似乎无法真正找到如何访问它们。

注意:我实际上是一名 SQL 开发人员,而不是 C# 开发人员,所以请保持温和。 :)

谢谢!

我能够通过将ColumnBoundDataField然后从那里使用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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM