Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Сравнение дат и подсветка результата в гриде... / 14 сообщений из 14, страница 1 из 1
07.11.2006, 11:50
    #34108598
Allaire
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сравнение дат и подсветка результата в гриде...
Ув. форумцы!
Есть сл. кусок кода:

DateTime time = DateTime.Now.Date;
if(e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
{
if(Equals(((DataRowView)e.Item.DataItem)["DateAdd"].ToString(), time.ToString()))
{
e.Item.BackColor = Color.Red;
}
}
Тут я пытаюсь сравнить две даты — из базы и текущую, и если они совпадают — закрасить стороку грида красным...
Но проблема в том что это работает если дата из базы и текущая абсолютно совпадают, в т.ч. и год, — как можно "обрезать" год и время из базы
и проводить сравнение только по дате?
...
Рейтинг: 0 / 0
07.11.2006, 11:58
    #34108624
----
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сравнение дат и подсветка результата в гриде...
приводи дату из грида к DateTime и бери от туда то, что надо и сравнивай.
...
Рейтинг: 0 / 0
07.11.2006, 12:21
    #34108709
Allaire
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сравнение дат и подсветка результата в гриде...
Здравствуйте, ----, Вы писали:

>приводи дату из грида к DateTime и бери от туда то, что надо и сравнивай.

каким образом?
...
Рейтинг: 0 / 0
07.11.2006, 12:37
    #34108774
----
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сравнение дат и подсветка результата в гриде...
ну как нибудь так:
Код: plaintext
1.
2.
DateTime t = (DateTime)(DataRowView)e.Item.DataItem)["DateAdd"].ToString();
if (t.Month == time.Month) {}
...
Рейтинг: 0 / 0
07.11.2006, 12:37
    #34108778
цукцук
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сравнение дат и подсветка результата в гриде...
.ToString("dd.mm.yyyy")
...
Рейтинг: 0 / 0
07.11.2006, 12:53
    #34108850
цукцук
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сравнение дат и подсветка результата в гриде...
облажался :)
вот так
.ToString("dd.MM.yyyy")
...
Рейтинг: 0 / 0
07.11.2006, 13:02
    #34108877
Allaire
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сравнение дат и подсветка результата в гриде...
Здравствуйте, цукцук, Вы писали:

Ц>облажался :)
Ц>вот так
Ц>.ToString("dd.MM.yyyy")

Год сравнивать мне как раз и не надо — это список дней рождения, поэтому сравнение нужно проводить только по дате...
...
Рейтинг: 0 / 0
07.11.2006, 13:08
    #34108899
Allaire
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сравнение дат и подсветка результата в гриде...
Здравствуйте, ----, Вы писали:

>ну как нибудь так:

>DateTime t = (DateTime)(DataRowView)e.Item.DataItem)["DateAdd"].ToString();
>if (t.Month == time.Month) {}

Чепуха какая-то выходит, вываливает исключение: Specified cast is not valid...
...
Рейтинг: 0 / 0
07.11.2006, 13:33
    #34108990
----
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сравнение дат и подсветка результата в гриде...
AllaireЗдравствуйте, цукцук, Вы писали:

Ц>облажался :)
Ц>вот так
Ц>.ToString("dd.MM.yyyy")

Год сравнивать мне как раз и не надо — это список дней рождения, поэтому сравнение нужно проводить только по дате...
Код: plaintext
1.
.ToString("dd.MM")
...
Рейтинг: 0 / 0
07.11.2006, 13:45
    #34109033
Allaire
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сравнение дат и подсветка результата в гриде...
Здравствуйте, ----, Вы писали:

> AllaireЗдравствуйте, цукцук, Вы писали:

Ц>>облажался :)
Ц>>вот так
Ц>>.ToString("dd.MM.yyyy")

>Год сравнивать мне как раз и не надо — это список дней рождения, поэтому сравнение нужно проводить только по дате...

>.ToString("dd.MM")

Не пожходит... т.к. выражение типа:
DateTime time = DateTime.Now.Date;
if(e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
{
if(((DataRowView)e.Item.DataItem)["DateAdd"].ToString("dd.MM") == time.ToString("dd.MM")))
{
e.Item.BackColor = Color.Red;
}
}
вызывает ошибку "No overload for method 'ToString' takes '1' arguments" :crash:
...
Рейтинг: 0 / 0
07.11.2006, 14:07
    #34109112
Allaire
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сравнение дат и подсветка результата в гриде...
Всем спасибо — проблему решил так...
Кому интересно:
DateTime time = DateTime.Now.Date;
if(e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
{
DateTime time2;
time2 = Convert.ToDateTime(((DataRowView)e.Item.DataItem)["DateAdd"]);
if(time2.ToString("dd MMMM") == time.ToString("dd MMMM"))
{
e.Item.BackColor = Color.Red;
}
}
...
Рейтинг: 0 / 0
07.11.2006, 16:35
    #34109677
Аноним
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сравнение дат и подсветка результата в гриде...
Здравствуйте, Allaire, Вы писали:

A>Всем спасибо — проблему решил так...
A>Кому интересно:
A>DateTime time = DateTime.Now.Date;
A>if(e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
A>{
A>DateTime time2;
A>time2 = Convert.ToDateTime(((DataRowView)e.Item.DataItem)["DateAdd"]);
A>if(time2.ToString("dd MMMM") == time.ToString("dd MMMM"))
A>{
A>e.Item.BackColor = Color.Red;
A>}
A>}

Хех, а зачем тебе переводить DateTime объекты в String чтобы сравнить? Че не получается сравнивать DateTime с DateTime (time == time2, ну или так хотя бы time.Day == time2.Day && time2.Month == time2.Month)?
...
Рейтинг: 0 / 0
07.11.2006, 16:42
    #34109709
Аноним
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сравнение дат и подсветка результата в гриде...
Здравствуйте, Аноним, Вы писали:

А>Здравствуйте, Allaire, Вы писали:

A>>Всем спасибо — проблему решил так...
A>>Кому интересно:
A>>DateTime time = DateTime.Now.Date;
A>>if(e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
A>>{
A>>DateTime time2;
A>>time2 = Convert.ToDateTime(((DataRowView)e.Item.DataItem)["DateAdd"]);
A>>if(time2.ToString("dd MMMM") == time.ToString("dd MMMM"))
A>>{
A>>e.Item.BackColor = Color.Red;
A>>}
A>>}

А>Хех, а зачем тебе переводить DateTime объекты в String чтобы сравнить? Че не получается сравнивать DateTime с DateTime (time == time2, ну или так хотя бы time.Day == time2.Day && time2.Month == time2.Month)?

Сорри перепутал, так низя time == time2, т.к. будут сравниваться только ссылки на объекты а не значения, а вот так можно time.Day == time2.Day && time.Month == time2.Month
...
Рейтинг: 0 / 0
07.11.2006, 17:28
    #34109915
Allaire
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сравнение дат и подсветка результата в гриде...
Здравствуйте, Аноним, Вы писали:

А>>Хех, а зачем тебе переводить DateTime объекты в String чтобы сравнить? Че не получается сравнивать DateTime с DateTime (time == time2, ну или так хотя бы time.Day == time2.Day && time2.Month == time2.Month)?

А>Сорри перепутал, так низя time == time2, т.к. будут сравниваться только ссылки на объекты а не значения, а вот так можно time.Day == time2.Day && time.Month == time2.Month
Можно сделать еще красивее, но времени мало :(
...
Рейтинг: 0 / 0
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Сравнение дат и подсветка результата в гриде... / 14 сообщений из 14, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]