Solved

How do I tie a bindingnavigator control to a datagrid without using the designer

Posted on 2006-11-20
3
856 Views
Last Modified: 2012-08-14
Ok, I'm trying to make a .net application which is very simple. The idea is that it starts with some opening arguments which tell it:

  1. Which db to open (the path)
  2. What query to use to get data
  3. What table it is to read from

So, what this means is that I need to actually change all the datasources and everything programmatically at run time.

I'm actually very new to .net, altho I have programmed in vb for about 7 months. The reason I'm doing this in .net is because vb6 doesn't have some features which my boss wants in the program.

Anyways, I have no idea how to do this in .net, and I've been trying to figure it out all day. It's very easy in vb6, I just set the datasource property. The best I can determine is that in order to do this I need to use a bindingnavigator control and a datagrid control.

Does anyone know how to do this through code only?
0
Comment
Question by:JeffreyDurham
  • 2
3 Comments
 

Author Comment

by:JeffreyDurham
Comment Utility
This is what I ended up doing, it seems to work. If anyone knows of any particular way I might do this better please let me know. Thanks!

    Private bindingSource1 As New BindingSource

    private sub bindGrid()        
        dodatagridinit()
        Dim dbAdapter = New OleDbDataAdapter()
        Dim dtResults = New DataTable("Results")
        dbAdapter.Fill(dtResults, mydb.myRecordSet)
        Me.bindingSource1.DataSource = dtResults
        Me.BindingNavigator1.BindingSource = bindingSource1
        Me.mydatagrid.DataSource = bindingSource1
        Me.mydatagrid.AutoResizeColumns()
        dbAdapter = Nothing
        dtResults = Nothing
    End Sub

    Private Sub dodatagridinit()
        Me.mydatagrid.DataSource = Nothing
        Me.mydatagrid.ColumnHeadersVisible = True
        Me.mydatagrid.AllowDrop = False
        'Me.mydatagrid.AllowSorting = True
        'Me.mydatagrid.CaptionText = "These Records Will Be Used To Print Your Mailing Labels"
        'Me.mydatagrid.PreferredColumnWidth = 100
        'Me.mydatagrid.PreferredRowHeight = 20
    End Sub
0
 

Author Comment

by:JeffreyDurham
Comment Utility
This is what I ended up doing. It worked Great. So that's that.

Public Sub bindTable()
        dodatagridinit()

        'Dim con As New OleDbConnection(mydb.myDbVars.myConnectStr)
        Dim conn As New OleDbConnection(mydb.myDbVars.myConnectStr)
        Dim myquerystr$ = CStr(mydb.myDbVars.myQueryStr)
        'myConnection.ConnectionString = myquerystr
        dbAdapter = New OleDb.OleDbDataAdapter(myquerystr, conn)
        mycb = New OleDbCommandBuilder(dbAdapter)
        ''original''    Dim cb As New OleDbCommandBuilder(dbAdapter)

        dbAdapter.Fill(dtResults)
        myConnection = conn
        'Me.lblTotal.Text = "Total: " &

        myConnection.Open()
        Me.bindingSource1.DataSource = dtResults
        Me.BindingNavigator1.BindingSource = bindingSource1
        Me.mydatagrid.DataSource = bindingSource1
        Me.mydatagrid.AutoResizeColumns()
        hideInvisColumns()
    End Sub
0
 

Accepted Solution

by:
PashaMod earned 0 total points
Comment Utility
Closed, 125 points refunded.
PashaMod
Community Support Moderator
0

Featured Post

Highfive + Dolby Voice = No More Audio Complaints!

Poor audio quality is one of the top reasons people don’t use video conferencing. Get the crispest, clearest audio powered by Dolby Voice in every meeting. Highfive and Dolby Voice deliver the best video conferencing and audio experience for every meeting and every room.

Join & Write a Comment

Introduction While answering a recent question about filtering a custom class collection, I realized that this could be accomplished with very little code by using the ScriptControl (SC) library.  This article will introduce you to the SC library a…
Enums (shorthand for ‘enumerations’) are not often used by programmers but they can be quite valuable when they are.  What are they? An Enum is just a type of variable like a string or an Integer, but in this case one that you create that contains…
As developers, we are not limited to the functions provided by the VBA language. In addition, we can call the functions that are part of the Windows operating system. These functions are part of the Windows API (Application Programming Interface). U…
Get people started with the process of using Access VBA to control Excel using automation, Microsoft Access can control other applications. An example is the ability to programmatically talk to Excel. Using automation, an Access application can laun…

744 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

Need Help in Real-Time?

Connect with top rated Experts

13 Experts available now in Live!

Get 1:1 Help Now