Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
4 / 4 / 0
Регистрация: 21.08.2016
Сообщений: 404

Искать необычный формат даты в datagridview через dateTimePicker

21.02.2020, 17:06. Показов 940. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
В datagridview есть столбец Дата-Время
Дата и месяц обозначается 2102
Время обозначается 12.25
Вместе получается 2102-12.25
Я на форму поставил два dateTimePicker один от а второй до.
Проблема в том что если я в первом dateTimePicker ставлю 0101 а втором 0501, то он при фильтрации показывает записи 0101
0201
0301
0401
0102
0202
0302
0402
Почему он показывает февраль 02 месяц и п очему он не показывает записи 0501 а только до 04?
Дальше я хочу поставить еще два dateTimePicker для время, но уже сомневаюсь что филтр будет работать!
Как решить эту ситуацию?
Пока в dateTimePicker в свойствах CustomFormat написал ddMM
C#
1
2
3
4
5
6
7
private void button31_Click_1(object sender, EventArgs e)
        {          
            SqlDataAdapter sfd = new SqlDataAdapter("select * from TWENTYNOTCLOSEDdb where Date between'" + dateTimePicker1.Value.ToString() + "' and '" + dateTimePicker2.Value.ToString() + "'", conn);           
            System.Data.DataTable sd = new System.Data.DataTable();
            sfd.Fill(sd);
            advancedDataGridView5.DataSource = sd;
        }
Изображения
  
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
21.02.2020, 17:06
Ответы с готовыми решениями:

Добавить в DataGridView колонку с выбором даты через DateTimePicker
Здравствуйте! Ребят, очень уж подзабыла... помогите вот с этим примером. Класс создала, а как теперь на главную форму вынести и вызвать...

Формат даты в DateTimePicker
Проблема состоит вот в чем - из базы мне надо считать строку, выборка происходит по дате: OleDbCommand plan = new...

Формат даты DateTimePicker
Всем привет! Нужно преобразовать дату в формат ДД:ММ:ГГГГ, но постоянно на выводе указываются часы 0:00:00. Не пойму как обойти это....

4
4 / 4 / 0
Регистрация: 21.08.2016
Сообщений: 404
24.02.2020, 08:29  [ТС]
Поможет кто нибудь
0
Эксперт .NET
 Аватар для kolorotur
17823 / 12973 / 3382
Регистрация: 17.09.2011
Сообщений: 21,261
24.02.2020, 08:43
Цитата Сообщение от Felikss Посмотреть сообщение
Почему он показывает февраль 02 месяц и п очему он не показывает записи 0501 а только до 04?
Потому что вы работаете со строками, а не с датами — вот он при поиске и сравнивает строки по алфавиту.
Строка 0102 в алфавитном порядке стоит раньше, чем строка 0501.

Вам надо в первую очередь перевести колонки в соответствующие типы данных.
1
4 / 4 / 0
Регистрация: 21.08.2016
Сообщений: 404
24.02.2020, 09:44  [ТС]
kolorotur, Хорошо, спасибо попробую.

Добавлено через 37 минут
kolorotur, попробовал так, но то же самое.
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
System.Data.DataTable table1 = LoadExcelSheetToTable1(@"\\w-fsclu1-str\STR\LE\DF\DVKC_DS\DVKC Search Engine\DVKC Search Engine\DVKC Search Engine\bin\Debug\Datubazes\2020_Gada atskaite\TWENTYNOTCLOSEDdb.xlsx", "Nepieslēgtie objekti");                  
                    conn = new SqlConnection("Data Source=KVP-25793;Initial Catalog=Nepieslegtie;Integrated Security=True;TransparentNetworkIPResolution=True");
                    this.tWENTYNOTCLOSEDdbTableAdapter.Fill(this.nepieslegtieDataSet.TWENTYNOTCLOSEDdb);
                    advancedDataGridView5.ColumnHeadersVisible = true;
                    
                }
               
                advancedDataGridView5.Columns[5].CellTemplate.ValueType = typeof(int);
                for (int i = 0; i < advancedDataGridView5.RowCount - 0; i++)
                {
         
                    if (advancedDataGridView5.Rows[i].Cells[3].Value.ToString() == "" ||
                        advancedDataGridView5.Rows[i].Cells[5].Value.ToString() == "" ||
                        advancedDataGridView5.Rows[i].Cells[6].Value.ToString() == "")
                    {
                        button7.BackColor = System.Drawing.Color.LightGreen;
                        advancedDataGridView5.Rows.RemoveAt(i);
                        i--;
                        label9.Text = advancedDataGridView5.RowCount.ToString();
                    }
                }
0
4 / 4 / 0
Регистрация: 21.08.2016
Сообщений: 404
25.02.2020, 22:30  [ТС]
Добрые люди, как перевести столбец datagridview в числа?
Так не работает:
C#
1
advancedDataGridView5.Columns[5].CellTemplate.ValueType = typeof(int);
Или я не туда вставил ету строку?

В datagridview данные попадают из SQL, а в SQL данные попадаютт из excel так:
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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
   public System.Data.DataTable LoadExcelSheetToTable1(string filename, string sheet)
        {
            System.Data.DataTable table1 = new System.Data.DataTable();
            using (System.Data.OleDb.OleDbConnection co =
            new System.Data.OleDb.OleDbConnection(
            "Provider=Microsoft.ACE.OLEDB.12.0; " +
            "Data Source='" + filename + "';" +
            "Extended Properties=\"Excel 12.0;HDR=TES;IMEX=1\""))
            using (System.Data.OleDb.OleDbDataAdapter import =
            new System.Data.OleDb.OleDbDataAdapter(
            "select * from [" + sheet + "$]", co))
                import.Fill(table1);
            return table1;
        }
 
  void PlaceTableToDatabase1(System.Data.DataTable table1)
        {
            ModelNepieslegts db2 = new ModelNepieslegts();
            table1.PrimaryKey = new DataColumn[] { table1.Columns["ID"] };
            foreach (DataRow row in table1.Rows)
            {
                int ID = Convert.ToInt32(row["ID"]);
 
                TWENTYNOTCLOSEDdb TWENTYNOTCLOSEDdb = db2.TWENTYNOTCLOSEDdb.Find(ID);
                if (TWENTYNOTCLOSEDdb == null)
                {
                    TWENTYNOTCLOSEDdb = new TWENTYNOTCLOSEDdb();
                    TWENTYNOTCLOSEDdb.ID = ID;
                    TWENTYNOTCLOSEDdb.Gads1 = Convert.ToString(row["Gads1"]);
                    TWENTYNOTCLOSEDdb.Numurs1 = Convert.ToString(row["Numurs1"]);
                    TWENTYNOTCLOSEDdb.Objekts1 = Convert.ToString(row["Objekts1"]);
                    TWENTYNOTCLOSEDdb.DatumsLaiks1 = Convert.ToString(row["DatumsLaiks1"]);
                    TWENTYNOTCLOSEDdb.Notikums1 = Convert.ToString(row["Notikums1"]);
                    TWENTYNOTCLOSEDdb.Rīcība1 = Convert.ToString(row["Rīcība1"]);
                    db2.TWENTYNOTCLOSEDdb.Add(TWENTYNOTCLOSEDdb);
                }
                else
                {
                    TWENTYNOTCLOSEDdb.Gads1 = Convert.ToString(row["Gads1"]);
                    TWENTYNOTCLOSEDdb.Numurs1 = Convert.ToString(row["Numurs1"]);
                    TWENTYNOTCLOSEDdb.Objekts1 = Convert.ToString(row["Objekts1"]);
                      public System.Data.DataTable LoadExcelSheetToTable1(string filename, string sheet)
        {
            System.Data.DataTable table1 = new System.Data.DataTable();
            using (System.Data.OleDb.OleDbConnection co =
            new System.Data.OleDb.OleDbConnection(
            "Provider=Microsoft.ACE.OLEDB.12.0; " +
            "Data Source='" + filename + "';" +
            "Extended Properties=\"Excel 12.0;HDR=TES;IMEX=1\""))
            using (System.Data.OleDb.OleDbDataAdapter import =
            new System.Data.OleDb.OleDbDataAdapter(
            "select * from [" + sheet + "$]", co))
                import.Fill(table1);
            return table1;
        }
                    TWENTYNOTCLOSEDdb.Notikums1 = Convert.ToString(row["Notikums1"]);
                    TWENTYNOTCLOSEDdb.Rīcība1 = Convert.ToString(row["Rīcība1"]);
                }
            }
            foreach (TWENTYNOTCLOSEDdb TWENTYNOTCLOSEDdb in db2.TWENTYNOTCLOSEDdb)
                if (table1.Rows.Find(TWENTYNOTCLOSEDdb.ID) == null)
                    db2.TWENTYNOTCLOSEDdb.Remove(TWENTYNOTCLOSEDdb);
            db2.SaveChanges();
        }
Эта строка отвечает за дату и время:
TWENTYNOTCLOSEDdb.DatumsLaiks1 = Convert.ToString(row["DatumsLaiks1"]);

В excel дата и время пишется так:
0201-12.25
0301-08.02
0401-15.36
0102-09.56
0202-04.19
0302-09.50
0402-07.18
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
25.02.2020, 22:30
Помогаю со студенческими работами здесь

Использовать выбор даты в dataGridView как в DateTimePicker
есть данные отображающиеся в dataGridView. и 2 столбца имеют типа &quot;дата&quot;. хотелось бы выбирать дату в них, как при помощи DateTimePicker. ...

DateTimePicker - формат даты "16 Мая 2016"
Подскажите, как реализовать с DateTimePicker фильтрацию по дате с форматом &quot;16 Мая 2016&quot; никак не получается... (

Добавление даты в БД через Combobox и DateTimePicker
Как сделать так чтобы при раскрытии combobox появлялся календарь и выбранная дата заносилась в поле БД через кнопку ок?

формат даты MySQL запроса для DataGridView
Здравствуйте! У меня возникает проблема при получения результата запроса к MySQL в DataGridView вот так...

Выборка данных через сравнение даты в DataGridView и текущей даты
Ситуация такова: в датагриде есть столбец с определенной датой. Нужно сравнить все даты с этого столбца с датой, задаваемой...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru