ASP.net для Loop Issue - PullRequest
0 голосов
/ 29 июля 2011

У меня проблема с циклом For, он выглядит следующим образом

for (int i = 0; i < dt.Rows.Count; i++)
        //for (int i = 0; i < System.Math.Min(dt.Rows.Count, 3); i++)
        {
            string date = Convert.ToDateTime(dt.Rows[i]["date"]).ToShortDateString();
            schedule[date] = (schedule[date] != null ? schedule[date].ToString() : "")    + Server.HtmlEncode(dt.Rows[i]["todo"].ToString()) + "<br />" + dt.Rows[i]["time"].ToString() + "<br />";
        }
        return schedule;

Это календарь, который я создал с помощью элемента управления календаря asp.net.Он просматривает все записи в моей базе данных и возвращает мое расписание (записи на эту дату), но я не хочу показывать более 3 строк текста, которые вы можете добавить в календарь (запись базы данных).Ты хоть представляешь, как я могу это сделать?

Спасибо, с уважением, Дизайнер

1 Ответ

2 голосов
/ 29 июля 2011

Вы можете вести подсчет количества строк, которые вы добавили для каждой даты:

Dictionary<string, int> schedulesDateCount = new Dictionary<string, int>();

for (int i = 0; i < dt.Rows.Count; i++)
{
    string date = Convert.ToDateTime(dt.Rows[i]["date"]).ToShortDateString();

    if(!schedulesDateCount.ContainsKey(date))
        schedulesDateCount[date] = 0;

    if(schedulesDateCount[date] < 3)
    {
        schedule[date] = (schedule[date] != null ? schedule[date].ToString() : "")    + Server.HtmlEncode(dt.Rows[i]["todo"].ToString()) + "<br />" + dt.Rows[i]["time"].ToString() + "<br />";
        schedulesDateCount[date] = schedulesDateCount[date] + 1;
    }
}
return schedule;
...