Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - .NET

Страница: 1 | 2 |

 

  Вопрос: Фильтрация в DataGrid в VB.net Добавлено: 07.11.06 21:35  

Автор вопроса:  george | ICQ: 301137589 
Народ, у меня есть таблица
1 Сергеев Антикризисное управление
2 Сидоров Математических методов в экономике
3 Иванов Антикризисное управление
4 Петров Математических методов в экономике
мне нужно в грид вывести только антикризисное управление. Как это сделать. Заранее спасибо

Ответить

  Ответы Всего ответов: 21  

Номер ответа: 1
Автор ответа:
 Neco



ICQ: 247906854 

Вопросов: 133
Ответов: 882
 Web-сайт: neco.pisem.net
 Профиль | | #1
Добавлено: 07.11.06 21:37
ограничив в запросе или указав условие (оно ж несложное) в фильтре

Ответить

Номер ответа: 2
Автор ответа:
 george



ICQ: 301137589 

Вопросов: 18
Ответов: 31
 Профиль | | #2 Добавлено: 07.11.06 21:43
В запросе не могу, так как выбор антикризисного управления осуществляется непосредственно в программе (то есть есть combobox, в котором мы можем выбирать антикризисное управление или математические методы в экономике).
На счет фильтрации не понял, можно поподробнее. Если можно то с кодом

Ответить

Номер ответа: 3
Автор ответа:
 Neco



ICQ: 247906854 

Вопросов: 133
Ответов: 882
 Web-сайт: neco.pisem.net
 Профиль | | #3
Добавлено: 07.11.06 22:40
у bindingsource, по крайней мере, точно есть свойство Filter. ставишь туды predmet_id=5 (где 5 это id антикризисного управления в таблице, я так понимаю, предметов) и у тебя отображается тока то, что надо. но там по-моему скупо всё - даже нельзя like делать, кажтца...
всё-таки способ через запросы представляется мне более гибким. не вижу никакой сложности назначать в качестве истоника гриду таблицу (через bindingsource) сформированную соот-щим запросом после выбора в комбо нужного значения.
тут кода нет - мышой надо тыкать по большей части.

Ответить

Номер ответа: 4
Автор ответа:
 Neco



ICQ: 247906854 

Вопросов: 133
Ответов: 882
 Web-сайт: neco.pisem.net
 Профиль | | #4
Добавлено: 07.11.06 22:52
ну вот код получившийся:
Public Class Form1

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        'TODO: This line of code loads data into the 'DataSet1.BANK' table. You can move, or remove it, as needed.
        Me.BANKTableAdapter.Fill(Me.DataSet1.BANK)
    End Sub

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        ;DataSet1BindingSource.Filter = "id>50"
    End Sub

    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
        'Dim tabla As New DataSet1.BANKDataTable ' мона и новую табличку закинуть
        Dim adap As New OracleClient.OracleDataAdapter("select * from odt.bank where lower(name) like '%народ%'", BANKTableAdapter.Connection)
        Me.DataSet1.BANK.Rows.Clear()
        adap.Fill(Me.DataSet1.BANK)
        adap.Dispose()
    End Sub
End Class

Ответить

Номер ответа: 5
Автор ответа:
 george



ICQ: 301137589 

Вопросов: 18
Ответов: 31
 Профиль | | #5 Добавлено: 07.11.06 23:12
Честно говоря не нашел даже BindingSource в msdn и как это применять

Ответить

Номер ответа: 6
Автор ответа:
 george



ICQ: 301137589 

Вопросов: 18
Ответов: 31
 Профиль | | #6 Добавлено: 07.11.06 23:12
Честно говоря не нашел даже BindingSource в msdn и как это применять

Ответить

Номер ответа: 7
Автор ответа:
 Neco



ICQ: 247906854 

Вопросов: 133
Ответов: 882
 Web-сайт: neco.pisem.net
 Профиль | | #7
Добавлено: 07.11.06 23:25
я и в первый раз прекрасно слышал. :)

млин я же говорю тут зависит от того как там ручками склеишь - у меня сначала тож несвязуха была, потом вроде всё устаканилось, счас по одному шаблону работаю, вроде нормуль.
1. создаёшь новый проект.
2. делаешь (где-то там в менюхах сверху) Add New Data Source (или типа того).
3. проходишь по мастеру, бла-бла выбираешь БД, создаёшь datasetXXX, к примеру.
4. кидаешь на форму таблицу datagridview
5. ставишь у неё истоником datasetxxx - точнее выбираешь его в othersources, он сам не выберется, студия создаст bindingsource, назначит его в качестве источника гриду, а самому bs (млин пора сокращать) созданный тут же datasource1.
6. у bs ставишь datamember какую-нить табличку из своей БД и фильтр там же увидишь.

всё это в принципе мона со спокойной душой редактировать и удалять - просто чтобы принцип работы освоить, имхо. bs по сути связка между таблицей и гридом.
дальше кодом можно перезаполнить DataSet1.YourDataTable или вообще его нах с формы удалить, если не любишь (как я) визуальные составляющие.

Ответить

Номер ответа: 8
Автор ответа:
 george



ICQ: 301137589 

Вопросов: 18
Ответов: 31
 Профиль | | #8 Добавлено: 07.11.06 23:30
Спасибо за подробное объяснение. datagridview в смысле dataview?

Ответить

Номер ответа: 9
Автор ответа:
 george



ICQ: 301137589 

Вопросов: 18
Ответов: 31
 Профиль | | #9 Добавлено: 08.11.06 01:08
Блин, может я совсем тупой, но в vb.net я не нашел datagridview, а в datagrid в datamember я не нашел фильтр. bindingsourse я тоже не нашел (первые 4 этапа точно так же делал)

Ответить

Номер ответа: 10
Автор ответа:
 Neco



ICQ: 247906854 

Вопросов: 133
Ответов: 882
 Web-сайт: neco.pisem.net
 Профиль | | #10
Добавлено: 08.11.06 01:16
всё описанное про 2005-ю студию - мож у тебя 2003?
тады я не советчик... меня она бесит

Ответить

Номер ответа: 11
Автор ответа:
 george



ICQ: 301137589 

Вопросов: 18
Ответов: 31
 Профиль | | #11 Добавлено: 08.11.06 01:19
ага, 2003. А что есть большие различия? Можно где-нибудь скачать обновления до 2005? или же придется все-таки покупать диск?

Ответить

Номер ответа: 12
Автор ответа:
 Artyom



Разработчик

Вопросов: 130
Ответов: 6602
 Профиль | | #12 Добавлено: 08.11.06 01:24
Покупать совсем не обязательно, можно скачать Express-редакцию Visual Studio 2005 совершенно бесплатно.

http://msdn.microsoft.com/vstudio/express/

Ответить

Номер ответа: 13
Автор ответа:
 Neco



ICQ: 247906854 

Вопросов: 133
Ответов: 882
 Web-сайт: neco.pisem.net
 Профиль | | #13
Добавлено: 08.11.06 01:34
отличия просто огромные, на мой взгляд.
очень советую скачать или купить.
ещё на многих дисках к журналам экспресс-версии имеются.

Ответить

Номер ответа: 14
Автор ответа:
 george



ICQ: 301137589 

Вопросов: 18
Ответов: 31
 Профиль | | #14 Добавлено: 08.11.06 01:43
всем огромное спасибо, буду разбираться с 2005 (хотя только 2 дня назад взялся за 2003). Скоро умру от объема информации:). А все из-за того что в лом было писать на VB6.

Ответить

Номер ответа: 15
Автор ответа:
 george



ICQ: 301137589 

Вопросов: 18
Ответов: 31
 Профиль | | #15 Добавлено: 08.11.06 14:07
Поставил я vb.net2005. Сделал все, как сказали. Но возникла проблема: мне надо вместо строчки DataSet1BindingSource.Filter = "id>50" написать DataSet1BindingSource.Filter = "id=combobox1.text". А на это он возмущается. Говорит "{"Cannot find column [combobox1.text]."}"

Ответить

Страница: 1 | 2 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам