Добавить DataGridViewRow в BindingSource - PullRequest
1 голос
/ 21 октября 2011

У меня есть два DataGridView, один с привязкой данных с помощью BindingSource, а второй DataGridView только с одной строкой и без привязки.

Во втором DataGridView пользователи могут заполнять значения, а с помощью кнопки Добавить - значенияБудет добавлено в первый DataGridView.

Но теперь я не знаю, как мне добавить эту новую строку (запись) в первый DataGridView.Я думаю, что для этого лучше всего добавить новую строку в источник привязки DataGridView 1?

Но как мне это сделать.

Может ли кто-нибудь мне помочь?Мне уже нужен код в C # Thx.

Ответы [ 4 ]

2 голосов
/ 25 октября 2011

Очень типично, что когда вы задаете вопрос, вы не получаете ответы, а только другие вопросы «почему».Мой вопрос был очень ясен, но почему я использую это, а не это .....

Так что это стоило мне времени, но, в конце концов, я нашел свой собственный ответ, используя следующую строку:запись со второй сетки.

((DataTable)(bs.DataSource)).Rows.Add(RowArray);
0 голосов
/ 25 октября 2011

Вы можете использовать BindingList со своими бизнес-объектами.Как я вижу в MSDN, он поддерживается в .NET v2.0.Что нужно сделать:

//Create list of products
BindingList<Product> myList = new BindingList<Product>();
//set datagridview datasource
dataGridView.DataSource = myList;
//add new product, named Cookie, to list ant boom you'll see it in your datagridview
myList.Add(new Product("Cookie"));
0 голосов
/ 24 октября 2011

Почему бы вам не сохранить свои данные в ObservableCollection<Type>?Привязать ваш DataGridView1 к этому словарю.Если затем в DataGridView2 добавляется новая запись, просто добавьте новую запись в эту ObservableCollection.«По волшебству» будет показано в DataGridView1.«Волшебство» - это наблюдаемый шаблон, реализованный ObservableCollection и используемый DataGridView.

0 голосов
/ 21 октября 2011

Почему бы вам не установить AllowUserToAddRows = True и использовать только один DataGridView?В этом случае вам не нужно заботиться о добавлении строки в DataGridView.

...