0
我必須綁定兩個的DataGridView的任務,主要的問題我看不到的變化,當我投BindingSource的數據源的DataSet(我需要這個SqlDataAdapter)。(關閉)的BindingSource檢測變化問題
我可以通過刪除數據庫表內容來解決這個問題,但這不適合我。
我可以捕捉到這些事件,但我需要在處理表單時更新數據庫。
var bs = (BindingSource)dataGridView1.DataSource;
var set = (DataSet)bs.DataSource; //here DataSet HasChanges() method always returns true
當我在SqlDataAdapter的更新()使用來自DataSet中表和填寫()方法,爲我做的插入,因爲值總是顯示爲新。
雖然說得好,但我希望我成功了。
謝謝。
EDIT
通過初始化關於類級別數據集和添加AcceptChanges方法固定它。 也從刪除鑄造BindingSource。
爲數據集的初始化代碼段:
dataSetT = new DataSet();
dataSetT.ReadXmlSchema(xmlSchemeFile);
dataSetT.ReadXml(populateDataSet == null ? xmlSchemeFile : xmlDataFile, XmlReadMode.IgnoreSchema);
var autoSource = new BindingSource();
var repairSource = new BindingSource();
autoSource.DataSource = dataSetT;
autoSource.DataMember = "Auto";
repairSource.DataSource = autoSource;
repairSource.DataMember = "VIN_FK";
dataGridView1.AutoGenerateColumns = true;
dataGridView2.AutoGenerateColumns = true;
dataGridView1.DataSource = autoSource;
dataGridView2.DataSource = repairSource;
dataSetT.AcceptChanges();
隨着現在AcceptChanges方法dataSetT.HasChanges()返回一個現實的值。然後我使用DataAdapter更新方法。
案件關閉。