Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > C# (си шарп)
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 12.03.2013, 16:38   #1
wm_leviathan
Форумчанин
 
Аватар для wm_leviathan
 
Регистрация: 17.02.2010
Сообщений: 399
По умолчанию Корректное отображение даты в DataGridView

Добрый день форумчане! столкнулся с такой проблемой, в базе даты имеют тип smalldatetime и вид у них такой 01.01.2000 0:00:00. так вот делаю запрос и отображаю в гриде (грид по сути вырисовываю в ручную, так мне надо) к примеру:
Код:
//заполняю таблицу
using (SqlDataAdapter dataAdapterLgota = new SqlDataAdapter(queryString, conn.connectionString))
{
DataTable tableLgota = new DataTable();
tableLgota.Locale = System.Globalization.CultureInfo.InvariantCulture;
dataAdapterLgota.Fill(tableLgota);
//создаю колонки
DataGridViewTextBoxColumn colDpriob = new DataGridViewTextBoxColumn();
colDpriob.Name = "Dpriob";
colDpriob.HeaderText = "Дата приобритения";
colDpriob.ReadOnly = true;
DataGridViewTextBoxColumn colDutr = new DataGridViewTextBoxColumn();
colDutr.Name = "Dutr";
colDutr.HeaderText = "Дата утраты";
colDutr.ReadOnly = true;
//добавляю их
((frmFedViplaty)Application.OpenForms["frmFedViplaty"]).dgLgota.Columns.Add(colDpriob);
                    ((frmFedViplaty)Application.OpenForms["frmFedViplaty"]).dgLgota.Columns.Add(colDutr);
//создаю ячейки
DataGridViewCell celDPriob = new DataGridViewTextBoxCell();
DataGridViewCell celDUtrat = new DataGridViewTextBoxCell();
// Ну и собственно заполняю
DataGridViewRow row = new DataGridViewRow();

celDPriob.Value = tableLgota.Rows[i]["Dpriob"].ToString();
celDUtrat.Value = tableLgota.Rows[i]["Dutr"].ToString();

row.Cells.AddRange(celDPriob, celDUtrat);
                        ((frmFedViplaty)Application.OpenForms["frmFedViplaty"]).dgLgota.Rows.Add(row);
}
и вот в том месте где выделил красным уже дата в "гавеном" виде типа 01.01.2000 0:00:00. Я так понимаю что при dataAdapterLgota.Fill(tableLgota); дата уже попадает в таком виде. Как то можно это исправить? пробывал по разному играться с гридом, ничего не получилось все равно отображает с часами. Если есть любые предложения буду рад услышать.
wm_leviathan вне форума Ответить с цитированием
Старый 12.03.2013, 16:59   #2
wm_leviathan
Форумчанин
 
Аватар для wm_leviathan
 
Регистрация: 17.02.2010
Сообщений: 399
По умолчанию

вопрос закрыт. сделал так:
Код:
DateTime dt = ((DateTime)tableLgota.Rows[i]["Dpriob"]);
celDPriob.Value = dt.ToShortDateString();
wm_leviathan вне форума Ответить с цитированием
Старый 12.03.2013, 18:03   #3
acteralex
Форумчанин
 
Регистрация: 19.05.2011
Сообщений: 189
По умолчанию

можно ещё так:
Код:
DateTime dt = ((DateTime)tableLgota.Rows[i]["Dpriob"]);
celDPriob.Value = dt.ToString("dd.mm.yyyy"); //точно не помню... но должно работать :)
acteralex вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Отображение матрицы в DataGridView diallfam C# (си шарп) 0 18.05.2012 02:32
С# Отображение классов-наследников в DataGridView Evil_Crab Помощь студентам 0 25.02.2011 15:15
DataGridView - медленное отображение avd Общие вопросы .NET 1 04.07.2010 11:22
корректное отображение импортированных данных в формулах Excel petrov_ja Помощь студентам 1 03.03.2009 00:27
Корректное отображение русских букв. TheWanderer Общие вопросы C/C++ 2 17.11.2008 21:03