Member 12374765 Ответов: 2

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


у меня есть combobox, который получает год столбца "дата", но поле со списком отображает весь год, который находится в списке, я просто хочу отобразить 2 разных года

пример

Столбец Даты

11/16/2016
12/16/2016
1/12/2017
1/13/2017

combobox отображается следующим образом


2016
2016
2017
2017


все, что я хочу, чтобы отобразить 2016 и 2017

как я могу это сделать??
Заранее благодарю вас за ответ:)

Что я уже пробовал:

я пробовал этот код, но он возвращает приведенный выше пример
Для i = 0 к индексу-1
drDate (i) = dset.Таблицы ("dr").Строки (i).Пункт (0)
drNo (i) = dset.Таблицы ("dr").Строки (i).Пункт 1.Метод toString.Отделка
кредит (i) = CDbl (dset.Таблицы ("dr").Строки (i).Пункт (2))
strDRdate(i) = drDate (i).ToString ("ММ/ДД/гггг")
If (strDRdate (i) = drDate(count).ToString("yyyy")) Затем
cboYear.Предметы.Добавить(drDate(i).ToString("yyyy"))
Конец, Если
Следующий

2 Ответов

Рейтинг:
12

Karthik_Mahalingam

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

if(<>cboYear.Items.Contains(drDate(i).ToString("yyyy")) then
               cboYear.Items.Add(drDate(i).ToString("yyyy"))


Рейтинг:
12

Atlapure Ambrish

Вместо того чтобы обрабатывать его в коде позади перед привязкой к полю со списком, лучше использовать отдельный запрос для получения различных лет из базы данных, а затем привязать к полю со списком.

В противном случае вы можете попробовать ниже строки запроса на ваш datatable, чтобы получить различные годы.

Примечание: Я не проверял это, просто дайте мне знать, если это не сработает.
ВАР лет = (С Д в объект DataTable, где D.Свойство hasvalue выберите Преобразовать.Объект todatetime(ум.Значения).Год).Отчетливый();


Atlapure Ambrish

d. значение в приведенном выше запросе - это ваш столбец даты в datatable, который вы используете.