мы можем использовать datagridview в качестве источника данных? - PullRequest
0 голосов
/ 11 августа 2011

Я пытаюсь установить dataGridView как источник данных какого-либо другого datagridview, но он не работает. Пожалуйста, помогите мне.

this.dataGridView2.DataSource = this.dataGridView1;

Нет ошибки компилятора, но также не работает.

Ответы [ 2 ]

1 голос
/ 11 августа 2011
this.dataGridView2.DataSource = this.dataGridView1;

это не покажет ошибку компиляции, потому что this.dataGridView2.DataSource ожидает тип объекта, и вы назначаете ему объект, но здесь не назначен источник данных для этого

 this.dataGridView2.DataSource = this.dataGridView1.DataSource 

назначить так

для решения проблемы изменения данных в сетке данных при изменении данных на первую

Попробуйте это

            DataTable dt = (DataTable)dataGridView1.DataSource;
            dataGridView2.DataSource = dt.Copy();
0 голосов
/ 16 августа 2011

@ Nighil звучит близко, я не знаю, сработало ли это для вас, но я бы не рекомендовал использовать dataGridView в качестве источника данных, я предлагаю вам отделить логику, хранящую данные отдельно от пользовательских элементов управления, также используя BindingSourceдает вам один простой метод обновления данных:

Скажем, у нас есть метод getTablefromDatasource (), который возвращает отображаемые данные и возвращает DataTable

DataTable table = getTablefromDatasource();
BindingSource source = new BindingSource();
dataGridView1.DataSource = source;
dataGridView2.DataSource = source;

, затем выможно обновить данные с помощью:

source.ResetBindings(false);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...