1

WebGridColumnsのコレクションを作成し、それらをモデルに追加して、それをかみそりのページに渡します。その場で決定される列の数が可変であるため、これを行っています。これはうまく機能しますが、日時の値を短い日付にフォーマットする必要があり、webgridcolumnsのコレクションを作成するときにこれをどのように実行できるかわかりません。

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

                });
            }

何か案は?

J

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 に答える