我在我的winform應用程序一個DataGridView,我顯示來自DAL類中的數據與數據集這樣更新的dataGridView
DataSet ds2 = DAL.Display_all();
dataGridView1.DataSource = ds2;
dataGridView1.DataMember = "To_display";
如何更新回到我的數據,如果如果有人更改數據gridView(我需要回到DAL類)?
我在我的winform應用程序一個DataGridView,我顯示來自DAL類中的數據與數據集這樣更新的dataGridView
DataSet ds2 = DAL.Display_all();
dataGridView1.DataSource = ds2;
dataGridView1.DataMember = "To_display";
如何更新回到我的數據,如果如果有人更改數據gridView(我需要回到DAL類)?
試試這個:
dataGridView1.ResetBindings();
使綁定到BindingSource重新讀取列表中的所有項目,並刷新自己的顯示值的控制。 MSDN
希望得到這個幫助。
如果循環遍歷DataGridView的每一行,則可以使用下面的方法獲取特定行上指定列的值。
private T GetDataGridViewTextBoxValue<T>(int rowIndex, string columnName)
{
try
{
return (T)Convert.ChangeType(dataGridViewImport.Rows[rowIndex].Cells[columnName].Value, typeof(T));
}
catch (Exception e)
{
throw new InvalidOperationException(String.Format("Row : {0}, column : {1} could not be cast to {2}", rowIndex, columnName, typeof(T)), e);
}
}
而且你可以使用這樣的方法。
for(int i=0;i< ds2.Tables[0].Rows.Count(); i++)
{
var column1 = GetDataGridViewTextBoxValue<string>(i, "column1");
//Get the rest of the row values.
//In your DAL class you must have a Method that updates the row
//and then just pass in the values that you want.
}
你在做什麼DAL.Display_all()?數據集自動隨DataGridView更新。 – Wowa
我想他是問如何獲取更新的行並更新他的數據庫? – Jethro
我有一個SQL查詢打開連接,並從DAL返回dataSet,然後我做上述 –