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

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

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

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

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

Код: plaintext
 uid  =  S a
...
Рейтинг: 0 / 0
Вопрос по сортировке в DataGrid.
    #32610552
dencat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Значит так в 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
Вопрос по сортировке в DataGrid.
    #32610579
Sa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну только это называется не сортировка, а фильтрация :-)
Теперь по делу:

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

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

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

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

Код: 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
Вопрос по сортировке в DataGrid.
    #32610745
Sa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Заведите в форме переменную, например:
Код: 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
Вопрос по сортировке в DataGrid.
    #32610804
Sa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Комбо боксы заполняются так:
[skipped]

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

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


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