Мое приложение использует плохо организованную электронную таблицу Excel в качестве источника данных. Я говорю плохо спроектированный, потому что нет уникального идентификатора для каждой строки, кроме столбца, где найдены даты и время.
Короче говоря, мое приложение использует дату и время в каждой строке в качестве идентификатора для извлечения информации из других столбцов в строке. Идея состоит в том, что пользователь выберет дату / время из ListBox, в это время приложение перебирает DataSet и находит дату / время в правом столбце и отображает остальную информацию в этой строке.
Моя проблема в том, что элемент управления ListBox не заполняется, и я не понимаю, почему ...
Вот пример строки из электронной таблицы: (Каждый | символ представляет границу ячейки)
Team - FNB | O | 2010/02/18 08:59:24 | 5034 | Frederico Turnbridge | 27839963586 | SA - MOBILE - (ZA) | | 69 | O_NORMAL | | 00:01:06 |R 2.83
Вот мой код:
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim j As Integer = 0
If TextBox1.Text.Length = 4 Then
For i As Integer = 0 To CallData.Tables(0).Rows.Count - 1
If CallData.Tables(0).Rows(i)(3).ToString = TextBox1.Text _
And CallData.Tables(0).Rows(i)(2).ToString > DateTimePicker1.ToString _
And CallData.Tables(0).Rows(i)(2).ToString < DateTimePicker2.ToString Then
ListBox1.BeginUpdate()
ListBox1.Items.Add(CallData.Tables(0).Rows(i)(2).ToString)
ListBox1.EndUpdate()
j = j + 1
End If
Next
Label1.Text = j & " records found."
End If
End Sub
Это в основном работает при поиске, где пользователь указывает термин для поиска (будь то номер телефона или (в данном случае) добавочный номер телефона) и диапазон дат.
Теперь я точно знаю, что в электронной таблице (и, следовательно, в DataSet) есть информация, где столбец даты - индекс столбца 2 - попадает в указанный диапазон дат, а столбец после него содержит мой поисковый запрос, но Я не получаю никаких результатов.
Есть идеи?