1

我正在创建 WebGridColumns 的集合,将它们添加到我的模型中并将其传递给我的剃须刀页面。我这样做是因为动态确定了可变数量的列。这很好用,但现在我需要将日期时间值格式化为短日期,并且不确定在创建 webgridcolumns 集合时如何实现这一点。

 foreach (var datetimeitem in cols)
            {                    
                columns.Add(new WebGridColumn
                {   
                    ColumnName = datetimeitem,
                    Header = "MyHeader",
                    Format = **format item here**;

                });
            }

有任何想法吗?

Ĵ

4

1 回答 1

1

你的设置看起来像这样吗?

@{
    var cols = new[] { "FirstDate", "SecondDate" };
    var columns = new List<WebGridColumn>();

    var grid = new WebGrid(new[]
    {
        new Entity { FirstDate = DateTime.Now, SecondDate = DateTime.Now },
        new Entity { FirstDate = DateTime.MinValue, SecondDate = DateTime.MinValue }
    });
}

如果是这样,你可以试试

@foreach (var datetimeitem in cols)
{                    
    columns.Add(new WebGridColumn
    {   
        ColumnName = datetimeitem,
        Header = "MyHeader",
        // If item is already a date time
        Format = m => m[datetimeitem].ToShortDateString()
        // If you need to parse item as date time first
        // Format = m => DateTime.Parse(m[datetimeitem]).ToShortDateString()
    });
}

@grid.GetHtml(columns: columns)
于 2012-12-07T21:13:20.177 回答