Solved

ListBox To ListBox Drag Drop And Dataset?

Posted on 2009-05-19
2
300 Views
Last Modified: 2012-06-27
I've found many good articles concerning ListBox drag-n-drop, but I'm still unsure how to update each ListBox's datasource. In this case each Listbox needs to connect to it's own dataset. Each datset will contain 4 columns, one of which is displayed in the ListBox. Upon drag-n-drop, the entire row needs transfered to the opposite dataset. I need to move data back-n-forth as well, not just one-way.

ListBox1 (displays only FirstLastName)  
ds1.tb1 [ID, FirstLastName, Mid, Bday, SS] (entire row moved to other dataset)

ListBox2 (displays only FirstLastName)  
ds2.tb2 [ID, FirstLastName, Mid, Bday, SS]
0
Comment
Question by:pointeman
2 Comments
 
LVL 12

Accepted Solution

by:
wht1986 earned 500 total points
ID: 24427982
In the code below, I have 2 listboxes bound to 2 different datasets (but same schema)

To start with I fill one dataset with values from the database.

The code below shows how I can drag and drop items between the listboxes while moving the associated datarow from 1 dataset table to another.
namespace Win_Forms

{

    public partial class Form1 : Form

    {

        public Form1()

        {

            InitializeComponent();

        }
 

        private void Form1_Load(object sender, EventArgs e)

        {

            this.facilitiesTableAdapter.Fill(this.ds1.Facilities);          

        }
 

        private void listBox1_DragDrop(object sender, DragEventArgs e)

        {

            DataRow frow = (DataRow)(e.Data.GetData(e.Data.GetFormats()[0]));

            ds1.Facilities.ImportRow(frow);

            ds2.Facilities.Rows.Remove(frow);

        }
 

        private void listBox2_DragDrop(object sender, DragEventArgs e)

        {

            DataRow frow = (DataRow)(e.Data.GetData(e.Data.GetFormats()[0]));

            ds2.Facilities.ImportRow(frow);

            ds1.Facilities.Rows.Remove(frow);

        }
 

        private void listBox1_MouseDown(object sender, MouseEventArgs e)

        {

            if (listBox1.Items.Count == 0)

                return;

            int index = listBox1.IndexFromPoint(e.X, e.Y);

            DoDragDrop(ds1.Facilities[index], DragDropEffects.All);

        }
 

        private void listBox2_MouseDown(object sender, MouseEventArgs e)

        {

            if (listBox2.Items.Count == 0)

                return;
 

            int index = listBox2.IndexFromPoint(e.X, e.Y);

            DoDragDrop(ds2.Facilities[index], DragDropEffects.All);

        }
 

        private void listBox1_DragOver(object sender, DragEventArgs e)

        {

            e.Effect = DragDropEffects.All;

        }
 

        private void listBox2_DragOver(object sender, DragEventArgs e)

        {

            e.Effect = DragDropEffects.All;

        }

    }

}

Open in new window

0
 

Author Closing Comment

by:pointeman
ID: 31583265
Excellent, thanks.........
0

Featured Post

Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

Question has a verified solution.

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

Suggested Solutions

Article by: Ivo
C# And Nullable Types Since 2.0 C# has Nullable(T) Generic Structure. The idea behind is to allow value type objects to have null values just like reference types have. This concerns scenarios where not all data sources have values (like a databa…
Introduction This article series is supposed to shed some light on the use of IDisposable and objects that inherit from it. In essence, a more apt title for this article would be: using (IDisposable) {}. I’m just not sure how many people would ge…
With Secure Portal Encryption, the recipient is sent a link to their email address directing them to the email laundry delivery page. From there, the recipient will be required to enter a user name and password to enter the page. Once the recipient …
A simple description of email encryption using a secure portal service. This is one of the choices offered by The Email Laundry for email encryption. The other choices are pdf encryption which creates an encrypted pdf of your email and any attachmen…

911 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

21 Experts available now in Live!

Get 1:1 Help Now