2017-03-16 76 views
1

グリッドを変更せずにBindingSourceを使用してDataGridViewに接続されているDataTableに何らかの変更を加える必要があります。c#BindingSourceからDataTableを取得して編集します

これは私のコードです:

dtBallaFroc = new DataTable(); 
//...Fill the datatable 
bindingSource.DataSource = dtBallaFroc; 
gridView.DataSource = bindingSource; 

その後、私はデータテーブルを編集する必要があり、コード内:

DataTable dataTable = (DataTable)bindingSource.DataSource; 
for (int i = 0; i < dataTable.Rows.Count; i++) 
{ 
    dataTable.Rows[i][5] = 0; 
} 

それはOK、このように動作しますが、それはまた、私はどのように停止することができ、私のDataGridViewの編集この ?

+0

グリッドビューを更新したくない場合は、バインディングソースを使用しないでください。データテーブルを使用します。バインディングソースには、データが変更されたときにdatagridviewを更新するイベントがあります。 – TheUknown

+0

DataGridViewの編集を中止するために 'gridView.ReadOnly = true'を設定しないでください。 – Vikhram

答えて

4

IIRCでは、DataTable.Copy()を使用してそれを変更できます。

DataTable dataTable = (DataTable)bindingSource.DataSource; 
DataTable copyDt = dataTable.Copy(); 

ここでは、何をしたいかを変更します。

これはうまくいくはずです。

+0

しかしYeeeeeeeeeeeeeeees! –

関連する問題