Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Вопрос по сортировке в DataGrid. / 12 сообщений из 12, страница 1 из 1
19.07.2004, 13:19
    #32610437
dencat
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по сортировке в DataGrid.
Есть DataGrid заполняемый следующим образом:
Код: plaintext
1.
dgDiscount.DataSource = dsCompany.Tables("CompanyDiscountTbl")

Есть комбобокс, нужно чтобы при выборе элемента в комбобоксе происходила сортировка элементов в DataGrid по выбранному элементу, т.е. чтобы записи совпадающие с выбранным элементом были сверху.
Очевидно надо использовать DataView, как ?
...
Рейтинг: 0 / 0
19.07.2004, 13:31
    #32610477
Sa
Sa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по сортировке в DataGrid.
Какая то странная сортировка получается, или я не врубился :-(

Проиллюстрируйте примерными данными.
Например в DataGrid следующие значения: bla-bla-bla

В ComboBox следующие значения: bla - bla - bla

При выборе из ComboBox "bla-bla", надо чтобы было: bla-bla-bla

Код: plaintext
 uid  =  S a
...
Рейтинг: 0 / 0
19.07.2004, 13:55
    #32610552
dencat
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по сортировке в DataGrid.
Значит так в DataGrid следующие записи

производитель товарная группа скидка
--------------------------------------------
ADIDAS кроссовки 30%

Два комбобокса, один с производителями(cbProducer), второй с товарными группами.
При выборе значения например в комбобоксе с производителями должны остаться строки только с этим производителем.При выборе товарной группы только строки с данной товарной группой.

Можно ли писать например так
Код: plaintext
1.
dgDiscount.DataSource = dsCompany.Tables("CompanyDiscountTbl").DefaultView
А потом на SelectedIndexChanged повесить
Код: plaintext
1.
dsCompany.Tables("CompanyDiscountTbl").DefaultView.RowFilter= "ProducerId = " & cbProducer.SelectedItem( 0 )
Но не получается, вываливается с объяснением что не может найти столбец[ADIDAS] например, если выбирать этого производителя. Почему столбец? Ведь столбец ProducerId, а ADIDAS его значение.
...
Рейтинг: 0 / 0
19.07.2004, 14:03
    #32610579
Sa
Sa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по сортировке в DataGrid.
Ну только это называется не сортировка, а фильтрация :-)
Теперь по делу:

Но не получается, вываливается с объяснением что не может найти столбец[ADIDAS] например, если выбирать этого производителя. Почему столбец? Ведь столбец ProducerId, а ADIDAS его значение.

Потому что значение не выделено апострофами, попробуйте так:
Код: plaintext
1.
dsCompany.Tables("CompanyDiscountTbl").DefaultView.RowFilter= "ProducerId = '" & cbProducer.SelectedItem(0) & "'"

Код: plaintext
 uid  =  S a
...
Рейтинг: 0 / 0
19.07.2004, 14:10
    #32610609
dencat
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по сортировке в DataGrid.
Спасибо.
Блин,?:%$#%$#^&%&^(*(**&!!!!!!
Чего то у меня сегодня ступор мозга, ну это то "'" я уже сам должен был дагодаться!
Еще раз спасибо, ну хоть моя идея правильная была:)
...
Рейтинг: 0 / 0
19.07.2004, 14:24
    #32610655
dencat
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по сортировке в DataGrid.
Еще один вопрос в догонку.
Как сделать чтобы фильтрация происходила не сразу, а только после выбора какого то из элементов в комбобоксе.
А то сразу происходит фильтрация по первому элементу, а хотелось бы, что бы вначале была вмидна вся таблица.
...
Рейтинг: 0 / 0
19.07.2004, 14:36
    #32610708
Sa
Sa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по сортировке в DataGrid.
Как сделать чтобы фильтрация происходила не сразу, а только после выбора какого то из элементов в комбобоксе.
А то сразу происходит фильтрация по первому элементу, а хотелось бы, что бы вначале была вмидна вся таблица

А когда "не сразу" вы имеете ввиду, то что фильтрация происходит при запуске формы?
...
Рейтинг: 0 / 0
19.07.2004, 14:41
    #32610723
dencat
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по сортировке в DataGrid.
Да, именно, фильтрация происходит при открытии формы.
А хотелось бы только когда пользователь производит выбор в комбобоксе.
...
Рейтинг: 0 / 0
19.07.2004, 14:43
    #32610736
dencat
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по сортировке в DataGrid.
Комбо боксы заполняются так:

Код: plaintext
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.
Private Sub CompanyForm_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

        Dim sqlProducer As String
        Dim sqlTovgr As String

        Try
            'Заполненяем комбобоксы на вкладке Скидки, для производителей и товарных групп.
            dsProducer.Clear()
            sqlProducer = "SELECT ProducerId FROM ProducerTbl"
            dsTovgr.Clear()
            sqlTovgr = "SELECT TovarGroupId FROM TovarGroupTip"


            daProducer = New SqlClient.SqlDataAdapter(sqlProducer, Sprav.BuildCnnStr())
            daProducer.Fill(dsProducer, "ProducerTbl")
            cbProducer.DataSource = dsProducer.Tables("ProducerTbl")
            cbProducer.DisplayMember = "ProducerId"
            


            daTovgr = New SqlClient.SqlDataAdapter(sqlTovgr, Sprav.BuildCnnStr())
            daTovgr.Fill(dsTovgr, "TovarGroupTip")
            cbTovgr.DataSource = dsTovgr.Tables("TovarGroupTip")
            cbTovgr.DisplayMember = "TovarGroupId"


        Catch ex As Exception

        End Try

    End Sub
...
Рейтинг: 0 / 0
19.07.2004, 14:44
    #32610745
Sa
Sa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по сортировке в DataGrid.
Заведите в форме переменную, например:
Код: plaintext
1.
private enableFilter as boolean  = False
В Load формы :
Код: plaintext
1.
2.
3.
 --bla-bla-bla
 
enableFilter  = True
А в ComboBox проверяйте:
Код: plaintext
1.
2.
3.
4.
If enableFilter  Then
   -- устанавливаю фильтр
 
End If

Код: plaintext
 uid  =  S a
...
Рейтинг: 0 / 0
19.07.2004, 15:05
    #32610804
Sa
Sa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по сортировке в DataGrid.
Комбо боксы заполняются так:
[skipped]

Ну вот в конце и ставьте:
Код: plaintext
1.
enableFilter  = True

Код: plaintext
 uid  =  S a
...
Рейтинг: 0 / 0
19.07.2004, 15:30
    #32610899
dencat
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по сортировке в DataGrid.
Спасибо уже сделал.
Теперь пытаюсь сделать на форме кнопку, чтобы возвращал датагриду первоначальный вид.
...
Рейтинг: 0 / 0
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Вопрос по сортировке в DataGrid. / 12 сообщений из 12, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]