2011-05-24 55 views
0

我使用模板字段在gridview的單個列中顯示四個數據字段。其中一個數據字段是日期字段。我不想顯示正常的日期,而想顯示相對的小時/天。 (比如:2小時前/ 2天前)。我如何操作模板字段列中的日期字段。請建議。Gridview - 在TemplateField中操作數據項

謝謝。

回答

0

您可以使用<%#Eval(「Date Field」)%>來操作在運行時綁定到列的數據。你甚至可以做這樣的事情調用的函數在你的後臺代碼:

<%# this.MyFunction(Eval("Date Field Name")) %> 

有可能是一個更好的辦法來做到這一點,但是這在過去爲我工作。請注意,Eval返回object

+0

感謝您的建議。它的工作:) – Phoenix 2011-05-24 19:48:24

0

如果其他視圖/頁面將使用該格式,則可能需要考慮將其放入業務服務層或某個實用函數中,以便它不會被隱藏/複製到UI中。

// Business Service 
public IList<Person> GetAllActivePeople() 
{ 
var people = _yourDataRepository.FindActive(); 
foreach(var p in people) 
{ 
    p.MyRelativeDateField = ConvertToRelativeHoursDays(p.MyDateField); 
} 
return people; 
} 

// probably better as a utility class if other dates of other objects can use this... 
private string ConvertToRelativeHoursDays(DateTime someDate) 
{ 
    // implement formatting here 
} 
+0

我只需要做一個這樣的事情。所以不要執行上面的事情。感謝您的建議,但。 – Phoenix 2011-05-24 19:46:23

相關問題