• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 286
  • Last Modified:

Update DataGrid

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
malanois
Asked:
malanois
  • 5
  • 5
  • 3
1 Solution
 
RonaldBiemansCommented:
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
 
RonaldBiemansCommented:
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
 
malanoisAuthor Commented:
does that automatically update the datafrid if it has already been filled?
0
Keep up with what's happening at Experts Exchange!

Sign up to receive Decoded, a new monthly digest with product updates, feature release info, continuing education opportunities, and more.

 
RonaldBiemansCommented:
yes it should, if ofcourse the datagrids datasource = is the same datasource you used to filter the records

0
 
malanoisAuthor Commented:
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
 
wguerramCommented:
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
 
RonaldBiemansCommented:
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
 
malanoisAuthor Commented:
Me.Db_FC_Datagrid.DataSource = dv   <-----------------It is giving an error, read Only
0
 
RonaldBiemansCommented:

Dim dv As New DataView
dv = yourdataset.Tables("Feature Bill").DefaultView
dv.RowFilter = "ColumnName = '" & sender.SelectedValue.ToString & "'"
Me.Db_FC_Datagrid.DataSource = dv
0
 
malanoisAuthor Commented:
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
 
wguerramCommented:
What type of object is Db_FC_Datagrid?
0
 
wguerramCommented:
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
 
malanoisAuthor Commented:
I got it,

STIMPY YOU I D I O T

i was not putting the correct datagrid name in.


THANKS SO MUCH !!!!!!!!!
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

Free Tool: SSL Checker

Scans your site and returns information about your SSL implementation and certificate. Helpful for debugging and validating your SSL configuration.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

  • 5
  • 5
  • 3
Tackle projects and never again get stuck behind a technical roadblock.
Join Now