2012-11-04 35 views
0

我正在用C#編寫的應用程序處理日程安排,每天都可以獲得一些相關信息。爲簡單起見,我們定義如下所示的日對象:.Net:如果我的數據僅表示本週的某幾天,我怎樣才能顯示整週的7天?

public class Day 
{ 
    public DateTime date { get; set; } 
    public List<string> info { get; set; } 
} 

還有,給定起始日期,將返回包含所有天數下週其中有一些信息列表的功能。下週有info.Count = 0的日子不在返回列表中。因此,我們可以期望獲得大小爲7或更小的List對象。現在,我有以下問題:

我想顯示所有七天,不管它們是否在獲得的列表中。

我想出的簡單(而且效率低下)的解決方案是編寫一個函數,它獲取獲取的List,讀取它並將缺失的日期(如果有的話)添加到它中。這樣我們總是有一個大小爲7的列表,並且可以很高興地用它填充一個asp:Repeater。但我認爲有一個更好的方法來做到這一點:

事先知道系統必須顯示從給定日期開始的連續七天。沒有必要讓完整的列表顯示數據。我的問題是,如何做到這一點?通過使用中繼器進行這項工作,我會陷入糟糕的方向嗎?

+0

返回Days的函數是什麼樣的?這就是你需要做出改變的地方。 – Bobson

+0

沒有整整7天的數據應該是無關緊要的。綁定邏輯應處理顯示數據集中存在日期的內容。 – Hardrada

+0

@Bobson,返回數據的函數只是調用一個外部API,我無法改變它。 – ederbf

回答

2

我不明白爲什麼增加缺失的日子效率特別低。你說的是毫秒,如果是這樣的話。它簡化了其餘的代碼。否則,你將不得不手動編碼中繼器的大部分功能。

對我來說聽起來像你應該繼續前進,並將缺少的日子添加到列表中。

+0

謝謝。我對添加缺失的日子感到非常滿意,但我暗示要尋找不同的方法。我也有這樣的感覺,如果存在一個(稍微)更有效的方法,那麼你必須交易許多代碼清晰和簡單的代碼。 – ederbf

相關問題