Solved

Update DataGrid

Posted on 2004-09-27
13
274 Views
Last Modified: 2010-04-23
I am filling a datagrid on the form load.

I am also filling a combo box, that has links to the datagrid.

As the user clicks the combo box i want to filter the datagrid to show only the rows that pertain to the combo.

I am having the problem with updating and the filtering of the datagrid.

Private Sub ComboBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmb_feature.SelectedIndexChanged
Dim t as string
t = cmb_feature.Text.ToString

                         <<<<<<--------------------------------------------------------How do i update and  <<<<<<<<<<<<<<<-----------------------------------------------------------filter the datagrid

        Me.Db_FC_Datagrid.Tables("Feature Bill").DefaultView.RowFilter = t


    End Sub

0
Comment
Question by:malanois
  • 5
  • 5
  • 3
13 Comments
 
LVL 25

Expert Comment

by:RonaldBiemans
ID: 12159986
it should be something like this

Private Sub ComboBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmb_feature.SelectedIndexChanged

        Me.Db_FC_Datagrid.Tables("Feature Bill").DefaultView.RowFilter = "yourname = '" & combobox1.text & "'"

    End Sub

yourname should ofcourse be the column name you want to filter on

0
 
LVL 25

Expert Comment

by:RonaldBiemans
ID: 12160003
if you use a valuemember 'like an ID" in your combobox which corresponts to your datagrid column

then use something like

Me.Db_FC_Datagrid.Tables("Feature Bill").DefaultView.RowFilter = "yourID = " & combobox1.selectedvalue
0
 

Author Comment

by:malanois
ID: 12160073
does that automatically update the datafrid if it has already been filled?
0
The Eight Noble Truths of Backup and Recovery

How can IT departments tackle the challenges of a Big Data world? This white paper provides a roadmap to success and helps companies ensure that all their data is safe and secure, no matter if it resides on-premise with physical or virtual machines or in the cloud.

 
LVL 25

Expert Comment

by:RonaldBiemans
ID: 12160138
yes it should, if ofcourse the datagrids datasource = is the same datasource you used to filter the records

0
 

Author Comment

by:malanois
ID: 12160485
OK,  I have a little problem though:

Here is my select statement

SELECT DISTINCT T_CONFIG_GUIDES_CB.FeatureCode + '    /    ' + T_CONFIG_GUIDES_FCBASE.Title AS combined FROM (T_CONFIG_GUIDES_FCBASE INNER JOIN T_CONFIG_GUIDES_CB ON T_CONFIG_GUIDES_FCBASE.FeatureCode = T_CONFIG_GUIDES_CB.FeatureCode)

as you can see i am combining featurecode and title as combined.

on the selectedindexchanged of the combo how can I just get the feature code out of it, to macth the other information.

0
 
LVL 8

Accepted Solution

by:
wguerram earned 500 total points
ID: 12160510
You have to use the DataTable or DataSet instead of the Datagrid.Tables

Private Sub cmb_feature_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmb_feature.SelectedIndexChanged

        Dim dv As DataView
        dv = yourdataset.Tables("Feature Bill").DefaultView
        dv.RowFilter = "ColumnName = '" & sender.SelectedValue.ToString & "'"
        Me.Db_FC_Datagrid.DataSource = dv

    End Sub

I am enclosing the filter with single '

dv.RowFilter = "ColumnName = '" & sender.SelectedValue.ToString & "'"

If the value is character type, if numeric you don't need them.

And the grid is refreshed automatically.
0
 
LVL 25

Expert Comment

by:RonaldBiemans
ID: 12160624
something like

 Me.Db_FC_Datagrid.Tables("Feature Bill").DefaultView.RowFilter = "featurecode = '" & FCode(combobox1.text)  & "'"


Private Function FCode(ByVal fc As String) As String
        Dim g As String = fc.Substring(0, fc.IndexOf("/")).TrimEnd
        Return g
End Function
0
 

Author Comment

by:malanois
ID: 12161074
Me.Db_FC_Datagrid.DataSource = dv   <-----------------It is giving an error, read Only
0
 
LVL 25

Expert Comment

by:RonaldBiemans
ID: 12161150

Dim dv As New DataView
dv = yourdataset.Tables("Feature Bill").DefaultView
dv.RowFilter = "ColumnName = '" & sender.SelectedValue.ToString & "'"
Me.Db_FC_Datagrid.DataSource = dv
0
 

Author Comment

by:malanois
ID: 12161471
If I try
Me.Db_FC_Datagrid.DataSource = dv  I get DataDource is not a member

If I try
Me.Db_FC_Datagrid.T_CONFIG_GUIDES = dv
I get read only


I changed the dv as new dataview
0
 
LVL 8

Expert Comment

by:wguerram
ID: 12161637
What type of object is Db_FC_Datagrid?
0
 
LVL 8

Expert Comment

by:wguerram
ID: 12161900
Is it a Dataset or Datagrid?

if it is a dataset the code would look like this:

Dim dv As New DataView
dv = Db_FC_Datagrid.Tables("Feature Bill").DefaultView
dv.RowFilter = "ColumnName = '" & sender.SelectedValue.ToString & "'"
Me.YourDataGrid.DataSource = dv

or if you are using the Text Property of you combobox

Dim dv As New DataView
dv = Db_FC_Datagrid.Tables("Feature Bill").DefaultView
dv.RowFilter = "ColumnName = '" & sender.Text.ToString & "'"
Me.YourDataGrid.DataSource = dv
0
 

Author Comment

by:malanois
ID: 12162008
I got it,

STIMPY YOU I D I O T

i was not putting the correct datagrid name in.


THANKS SO MUCH !!!!!!!!!
0

Featured Post

Are your AD admin tools letting you down?

Managing Active Directory can get complicated.  Often, the native tools for managing AD are just not up to the task.  The largest Active Directory installations in the world have relied on one tool to manage their day-to-day administration tasks: Hyena. Start your trial today.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

This tutorial demonstrates one way to create an application that runs without any Forms but still has a GUI presence via an Icon in the System Tray. The magic lies in Inheriting from the ApplicationContext Class and passing that to Application.Ru…
Article by: Kraeven
Introduction Remote Share is a simple remote sharing tool, enabling you to see, add and remove remote or local shares. The application is written in VB.NET targeting the .NET framework 2.0. The source code and the compiled programs have been in…
Although Jacob Bernoulli (1654-1705) has been credited as the creator of "Binomial Distribution Table", Gottfried Leibniz (1646-1716) did his dissertation on the subject in 1666; Leibniz you may recall is the co-inventor of "Calculus" and beat Isaac…
With Secure Portal Encryption, the recipient is sent a link to their email address directing them to the email laundry delivery page. From there, the recipient will be required to enter a user name and password to enter the page. Once the recipient …

770 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question