Want to win a PS4? Go Premium and enter to win our High-Tech Treats giveaway. Enter to Win


Bind to dataset on main form from second form.

Posted on 2006-11-22
Medium Priority
Last Modified: 2010-04-23
Not sure if I am doing something wrong here but I can bind to the dataset on my main form perfectly and the data shows in my controls. The problem is the data in the second form is not advancing ?? The data in the main form is advancing and both controls are bound exactly the same, with no changes. Why would one advanced and the others not ?

Question by:ParanoidOne
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 6
  • 4
  • 2

Expert Comment

by:Jayadev Nair
ID: 17996875
Please explain your current implementation scenario. Is both forms having same coding with independent Dataset? Or DataSet is placed in Form1 and Accessing from Form2 ? If so, How you passed Dataset to second form? ByRef or ByVal? Please Explain


Author Comment

ID: 17996924
The dataset is on the main form (form1). This is the form load for Form 2.

Private Sub Form2_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

        Dim b As Binding
        Dim i(7, 2) As Object

        i(0, 0) = txtLast
        i(1, 0) = txtFirst
        i(2, 0) = txtMiddle
        i(3, 0) = txtEmail
        i(4, 0) = txtAddress
        i(5, 0) = txtCity
        i(6, 0) = txtState
        i(7, 0) = txtZip

        i(0, 1) = MyForm1.SQLCase
        i(1, 1) = MyForm1.SQLCase
        i(2, 1) = MyForm1.SQLCase
        i(3, 1) = MyForm1.SQLCase
        i(4, 1) = MyForm1.SQLCase
        i(5, 1) = MyForm1.SQLCase
        i(6, 1) = MyForm1.SQLCase
        i(7, 1) = MyForm1.SQLCase

        i(0, 2) = "icase.icaseparty.last"
        i(1, 2) = "icase.icaseparty.first"
        i(2, 2) = "icase.icaseparty.middle"
        i(3, 2) = "icase.icaseparty.email"
        i(4, 2) = "icase.icaseparty.address"
        i(5, 2) = "icase.icaseparty.city"
        i(6, 2) = "icase.icaseparty.state"
        i(7, 2) = "icase.icaseparty.zip"

        Dim l As Integer
        For l = 0 To i.GetUpperBound(0)
            b = New Binding("Text", i(l, 1), i(l, 2))
                i(l, 0).DataBindings.Add(b)
            Catch ex As Exception
            End Try
    End Sub

Expert Comment

by:Jayadev Nair
ID: 17997116
from where you are adding records to dataset?
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.


Author Comment

ID: 17997155
You mean filling the dataset ? The dataset is filled in form1. Records are not being added anywhere, they are already there in the database.

Expert Comment

by:Jayadev Nair
ID: 17997234
Did you say, MyForm1.SQLCase is having data but not getting bound to your controls? Or you aint getting any data at runtime on even dataset?

Author Comment

ID: 17997290
Myform1 is working beautiful. When I advance the BM the textbox on form1 shows the data perfectly. The textbox on Form2 shows the first record no matter what. Both forms are bound Exactly the same way to the same dataset and same datamember. The only difference in the two is the MyForm1.SQLCase reference instead of SQLCase
LVL 34

Accepted Solution

Sancler earned 1000 total points
ID: 17997330
The two forms will have different bindingcontexts, hence binding managers.  You need to reed the Remarks in this link


When "The data in the main form is advancing" that is because the binding manager for that data, on that form, is changing .Position.  But because the "the data in the second form" has a different binding manager, for which the .Position is not changing, it "is not advancing".  It may be possible to synchronise them, but we would need to know a bit more about the overall set up.  E.g. why are you showing the same data on two forms?  Is one form a child of the other?  That sort of thing.


Author Comment

ID: 17997342
Well the first form just shows the customers name, the second form will be to edit the data like the address and such. Any ideas on a different way, I am open to suggestion.
LVL 34

Expert Comment

ID: 17997407
A Panel or GroupBox on the first form - containing the detail fields from the second form - that you make visible or not (and possibly resize the form to accommodate) depending on whether you are in edit mode or not?


Expert Comment

by:Jayadev Nair
ID: 17997435
A tabcontrol isnt enough to manage in a single form?

Author Comment

ID: 17997524
Yeah I can do that, the second form just look cool !!

Author Comment

ID: 17997778
Better yet I did this and like it better.

Me.BindingContext(MyForm1.SQLCase, "icase").Position = MyForm1.BindingContext(MyForm1.SQLCase, "icase").Position

Featured Post

Tech or Treat! - Giveaway

Submit an article about your scariest tech experience—and the solution—and you’ll be automatically entered to win one of 4 fantastic tech gadgets.

Question has a verified solution.

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

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…
It was really hard time for me to get the understanding of Delegates in C#. I went through many websites and articles but I found them very clumsy. After going through those sites, I noted down the points in a easy way so here I am sharing that unde…
In this video, Percona Director of Solution Engineering Jon Tobin discusses the function and features of Percona Server for MongoDB. How Percona can help Percona can help you determine if Percona Server for MongoDB is the right solution for …
Is your data getting by on basic protection measures? In today’s climate of debilitating malware and ransomware—like WannaCry—that may not be enough. You need to establish more than basics, like a recovery plan that protects both data and endpoints.…
Suggested Courses

604 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