Форум программистов, компьютерный форум CyberForum.ru

C# и базы данных, ADO.NET

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.78
to be
0 / 0 / 0
Регистрация: 27.03.2014
Сообщений: 3
#1

Выборка даты из БД и отображение в DataGridView в определенном формате - C#

27.03.2014, 17:34. Просмотров 1648. Ответов 4
Метки нет (Все метки)

Доброго времени суток, уважаемые!

Подскажите пожалуйста решение) застопорился в выводе даты в dataGridView.
Суть такая: получаю данные из БД и вывожу в dataGridView, с выводом проблем нет, все работает как часы, но не устраивает формат даты из БД приходит объект и отображается в формате дата+время, а нужно оставить только дату (ГГГГ-ММ-ДД).

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
 using (SqlConnection cn = new SqlConnection(connect.ConnectionString))
            {
                SqlCommand cmd;
                SqlDataReader dr;
                string sql = "select * from Documents";
                cn.ConnectionString = connect.ConnectionString;
                try
                {
                    cn.Open();
                    cmd = new SqlCommand(sql);
                    cmd.Connection = cn;
                    dr = cmd.ExecuteReader();
                    int i = 0;
                    while (dr.Read()) 
                    {
                        dataGridView1.RowCount = 3;
                        dataGridView1.ColumnCount = 6;
                        dataGridView1.RowHeadersVisible = false;
                        dataGridView1.ReadOnly = true;
 
                        dataGridView1.Rows[i].Cells[0].Value = dr["DocumentType"].ToString();
                        dataGridView1.Rows[i].Cells[1].Value = dr["DocumentPath"].ToString();
                        dataGridView1.Rows[i].Cells[2].Value = dr["UserCreate"].ToString();
                        dataGridView1.Rows[i].Cells[3].Value = dr["DateCreate"].ToString();
                        dataGridView1.Rows[i].Cells[4].Value = dr["UserUpdate"].ToString();
                        dataGridView1.Rows[i].Cells[5].Value = dr["DateUpdate"].ToString();
                        i++;
                    }
 
                }
Вариант
C#
1
dataGridView1.Columns[5].DefaultCellStyle.Format = "d";
.. не прокатил ((

Хотел изменить тип колонки, но как понял просто на ходу не поменять, нужно скрывать одну и создавать другую, да и типа DateTime тоже как то нет..
Если есть мысли, поправки, пожелания и молитвы IT-богам с радостью выслушаю)
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.03.2014, 17:34     Выборка даты из БД и отображение в DataGridView в определенном формате
Посмотрите здесь:

Выборка записей в определенном ценовом диапазоне - C#
Добрый вечер. Visual studio, подключил БД. Сделал форму, программа, которая задает фильтр, для значения "pirce". private void...

Выборка и отображение данных - C#
А можно-ли на вот этот код OleDbConnection connP = new OleDbConnection(); connP.ConnectionString =...

Выборка и отображение данных - C#
Здравствуйте. Мне нужно на вот этот код OleDbConnection connP = new OleDbConnection(); connP.ConnectionString =...

Выборка из datagridview - C#
Добрый день. Необходима вожможность выборки данных из dataGridView в нее саму вывожу таким кодом.SetConnection(); con.Open();...

Как извлечь из datagridview данные в строковом формате? - C#
если мы создаём новую строку при пом DataRow row=ds.Tables.NewRow; row=...... ds.Tables.Rows.Add(row); и всё это отображаем в...

Выборка данных и их отображение в GataGridView - C#
Добрый день. Не могу разобраться с тем, как подключиться к созданной базе данных в MySQL и отобразить ее на элементе DataGridView. Я...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Learx
1035 / 842 / 85
Регистрация: 31.03.2010
Сообщений: 2,465
27.03.2014, 18:49     Выборка даты из БД и отображение в DataGridView в определенном формате #2
Сообщение было отмечено автором темы, экспертом или модератором как ответ
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
using (SqlConnection cn = new SqlConnection(connect.ConnectionString))
{
    try
    {
          //адаптер сам открывает и закрывает после себя соединение
          SqlDataAdapter ada = new SqlDataAdapter("select * from Documents", cn);
          DataTable dt = new DataTable();
          ada.Fill(dt);
//это привязка данных - она сама обеспечит отображение данных из dt в гриде
          dataGridView1.DataSource=dt;
           dataGridView1.Columns["DataColumnName"].DefaultCellStyle.Format = "yyyy-MM-dd";
    }
    catch(Exeption ex)
    { MessageBox.Show(ex.ToString());}
//по завершению using сам вызовет Dispose для cn, а тот в свою очередь обязательно закроет подключение
}
to be
0 / 0 / 0
Регистрация: 27.03.2014
Сообщений: 3
28.03.2014, 11:36  [ТС]     Выборка даты из БД и отображение в DataGridView в определенном формате #3
Я думал уже попробовать переделать через DataTable или через DataSet.
Любопытно почему
C#
1
dataGridView1.Columns["DataColumnName"].DefaultCellStyle.Format = "yyyy-MM-dd";
не реагировала в том контексте..

В любом случае, я попробовал Ваш код - отображается корректно! Большое Спасибо!)
Learx
1035 / 842 / 85
Регистрация: 31.03.2010
Сообщений: 2,465
28.03.2014, 12:50     Выборка даты из БД и отображение в DataGridView в определенном формате #4
to be, так я вам и привел использование DataTable и привязки - код получился более кратким и понятным

Добавлено через 3 минуты
to be, а не реагировала потому, что у вас сохранялись данные тип - string
DataGridView по сути для textBoxColumn вызывает метод ToString() для значения ячейки, а Format - это параметр для этой функции.
соотвественно у string.ToString("yyyy-MM-dd"); и не реагировал понятно почему
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.01.2017, 13:44     Выборка даты из БД и отображение в DataGridView в определенном формате
Еще ссылки по теме:

DatagridVIew выборка данных - C#
Здравствуйте, мне нужно заполнить ДатуГрид данными из БД, которые бы соответствовали условию - в таблице есть три поля которые с одинаковым...

Выборка из datagridview в listBox - C#
Здравствуйте. Нужно сделать что бы из datagridview можно было выбрать одну строку(выделенную) и по нажатию на кнопку она переносилась в...

SQLite Ошибка при обновлении данных в БД из DataGridView при определенном условии - C#
Собственно проблема в следующем... в приложение добавил обновление БД из dgv. Сделано по примеру, как в видео _sB0A6FIhUM На...

Выборка из DataGridView по ФИО с использованием RowFilter - C#
Столкнулся с проблемой. Есть огромная выборка из БД в DataGridView (23 000 строк). Также есть поле поиска, куда вводится ФИО (может...

Корректное отображение даты в DGV из БД - C#
Как сделать так чтобы в ячейке datagridview дата отображалась полностью, то бишь с секундами? Поясню ситуацию, в бд oracle дата хранится в...

отображение в dataGridView - C#
Как сделать чтоб столбцы какого либо запроса заполняли все пространство в dataGridView, т.е динамически меняли свою ширину.


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Wanzan
1 / 1 / 0
Регистрация: 23.04.2015
Сообщений: 65
10.01.2017, 13:44     Выборка даты из БД и отображение в DataGridView в определенном формате #5
Learx,
Добрый день! не получается изменить формат даты.
Делаю так:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
string searchOfDate1 = dateTimePicker1.Value.ToString("dd/MM/yyyy");
                string searchOfDate2 = dateTimePicker2.Value.ToString("dd/MM/yyyy");
                string Select = "select rowID, cartNameID, talonID, cartName, cartCount, currDate from tb_TalonList where ([currDate] between '" + searchOfDate1 + "' and '" + searchOfDate2 + "')";
                connS = new SqlConnection(conStr);
                commS = new SqlCommand(Select, connS);
                connS.Open();
                adapS = new SqlDataAdapter();
                adapS.SelectCommand = commS;
                adapS.Fill(this.talonAddDS.tb_TalonList);
                dataGridView1.DataSource = this.talonAddDS.tb_TalonList;
                dataGridView1.Columns["currDate"].DefaultCellStyle.Format = "dd-MM-yyyy";
                dataGridView1.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.Fill;
                connS.Close();
 
                double Totall = 0;
                foreach (DataGridViewRow row in dataGridView1.Rows)
                {
                    if (row.Cells[5].Value != null && row.Cells[5].Value.ToString() != "")
                        Totall += Convert.ToDouble(row.Cells[4].Value.ToString());
                    else
                        Totall += 0;
                }
                tbTotal.Text = Totall.ToString();
не меняется формат в столбце.

Пробовал так:
C#
1
dataGridView1.Columns["currDate"].DefaultCellStyle.Format = "dd-MM-yyyy";
тоже самое.
Yandex
Объявления
10.01.2017, 13:44     Выборка даты из БД и отображение в DataGridView в определенном формате
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru