Solved

Adding new row to bound datatable

Posted on 2009-05-05
3
997 Views
Last Modified: 2012-05-06
Hi,

I have a datatable which is bound to a combobox and several textboxes.
The combobox is used to browse through the items, and the textboxes to modify/view the data.
This all works fine.

However, when adding a new row to the table, the combobox shows this new row, yet the bindingcontext does not change position when I select the value in the combobox. Therefore I cannot modify the new row added.

Any help would be apprciated,

Thanks.
The binding for example;
 
            medicinesTableAdapter1.Fill(mediupDataSet1.medicines);
 
            cboxSelect.DataSource = mediupDataSet1;
            cboxSelect.DisplayMember = "Medicines.english_name";
            cboxSelect.ValueMember = "Medicines.ID";
 
            tboxID.DataBindings.Add("Text", mediupDataSet1, "Medicines.ID");
            tboxActiveComponents.DataBindings.Add("Text", mediupDataSet1, "Medicines.active_component");
 
Adding a new row:
           
 this.BindingContext[mediupDataSet1, "Medicines"].EndCurrentEdit();
            DataRow _dr = mediupDataSet1.medicines.NewRow();
            _dr.BeginEdit();
            _dr["ID"] = (uint)(mediupDataSet1.medicines.Compute("Max(id)", "")) + 1;
            _dr["hebrew_name"] = "êèÕäÔ ×ÓéÔ";
            _dr.EndEdit();
            mediupDataSet1.medicines.Rows.Add(_dr);

Open in new window

0
Comment
Question by:Nemesis_0001
  • 2
3 Comments
 
LVL 4

Expert Comment

by:Wardy_01
ID: 24305881
rebind the grid to the newly modified datatable.
then set the selectedindex to the newly created row.
0
 

Author Comment

by:Nemesis_0001
ID: 24305899
There is no grid, only a combobox and some textboxes.
0
 
LVL 4

Accepted Solution

by:
Wardy_01 earned 500 total points
ID: 24373735
sorry my bad ... read it wrong.

If you design this as per the Microsoft recommended approach you should have all your databinding code in a databind method.

That means you do things in this order ...

1. load
2. databind
3  edit
4  databind
5  finish

you have to be careful with the order of events though, i used to get tripped up all the time with this stuff. Put a breakpoint on your value setting statements to make sure the new values are being correctly picked up.

And of course don't forget to call databind when you're done ... i can't see that anywhere.
Databind should update your binding context assuming your underlying dataset has been modified correctly.

Migth be worth checking the dataset after you modify it to make sure the data has been correctly committed.
0

Featured Post

Live: Real-Time Solutions, Start Here

Receive instant 1:1 support from technology experts, using our real-time conversation and whiteboard interface. Your first 5 minutes are always free.

Question has a verified solution.

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

Suggested Solutions

Title # Comments Views Activity
Error on Add method 1 50
C# parent child form 5 28
Where can I ask about my ASP.NET MVC project? 6 35
How to call weather service by using asmx? 4 29
Summary: Persistence is the capability of an application to store the state of objects and recover it when necessary. This article compares the two common types of serialization in aspects of data access, readability, and runtime cost. A ready-to…
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…
Microsoft Active Directory, the widely used IT infrastructure, is known for its high risk of credential theft. The best way to test your Active Directory’s vulnerabilities to pass-the-ticket, pass-the-hash, privilege escalation, and malware attacks …
Email security requires an ever evolving service that stays up to date with counter-evolving threats. The Email Laundry perform Research and Development to ensure their email security service evolves faster than cyber criminals. We apply our Threat…

813 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

18 Experts available now in Live!

Get 1:1 Help Now