• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 284
  • 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
Concerto's Cloud Advisory Services

Want to avoid the missteps to gaining all the benefits of the cloud? Learn more about the different assessment options from our Cloud Advisory team.

 
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

Featured Post

Concerto's Cloud Advisory Services

Want to avoid the missteps to gaining all the benefits of the cloud? Learn more about the different assessment options from our Cloud Advisory team.

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