2017-06-08 14 views
0

私はそこに個別にDateTimeWebGrid列をフォーマットする方法exaplaining回答の多くはあるが、それはautomticallyタイプDateTimeのすべての列をフォーマットするWebGridを設定することが可能である参照してください?自動的に生成されたWebGridの日付列の書式を設定する方法

WebGridは自動的に私のクラスからデータを引き出し、私は実際に起因する私は(の試み)を使用していたという事実に、webgrid.Columnにアクセスすることはありませんので、私は、一般的なWebGridビュー尋ねる:

@model IEnumerable<MVCQCPage.Helpers.IGriddable> 

@{ 
    var grid = new WebGrid(new List<object>()); 
    var linkPrefix = string.Empty; 
    var selectable = false; 

    if (Model.Count() > 0) 
    { 
     string[] columnNames = { }; 

     var firstItem = Model.First(); 

     linkPrefix = firstItem.RowLinkPrefix; 
     columnNames = firstItem.ColumnHeaders; 
     selectable = firstItem.Selectable; 

     grid = new WebGrid(Model, 
      rowsPerPage: 100, 
      columnNames: columnNames); 
    } 
} 
<div id="grid"> 
    @grid.GetHtml(
      tableStyle: "table", 
      alternatingRowStyle: "alternate", 
      headerStyle: "header" 
     ) 
</div> 

public interface IGriddable 
{ 
    string RowLinkPrefix { get; } 
    string[] ColumnHeaders { get; } 
    bool Selectable { get; } 
} 

それはこのようなものが含まれている場合があります実装する各クラスだから:IGriddableはこのようになります

public string[] ColumnHeaders { get; } = new string[] { "SampleNo", "QCDate", "StatusClerk", "StatusSupervisor" }; 
public string RowLinkPrefix { get { return $"/receiving/{Pallet.Grv.GRVNo}/{Pallet.PalletSeq}/"; } } 
public bool Selectable { get; } = true; 

DisplayformatQCDateプロパティに追加しようとしましたが、これは役に立たないです。

ご協力いただきありがとうございます。

答えて

0

私はこのように私のプロパティを修正することによってこの問題を回避するために管理:

public DateTime QCDate { get; set; } 
public string Date { get { return QCDate.ToString("dd/MM/yyyy"); } } 

そして、この項目がグリッドに表示されたとき、それは今で表示されるように

public string[] ColumnHeaders { get; } = new string[] { "SampleNo", "Date", "StatusClerk", "StatusSupervisor" }; 

ColumnHeadersを変更私が必要だった短い日付文字列。

関連する問題