我已花了大約三個星期試圖找到有關此信息,並沒有成功。 與編輯相關的DGV設置: DGV上的只讀爲假 編輯模式是DGV上的按鍵。Visual C#DataGridView編輯;設置了所有可能的編輯選項;將不會編輯
代碼是在這裏: http://pastebin.com/eCv3iBcF
但是,試圖編輯,什麼都不會發生,盒子剛剛轉顏色從選擇的時候;鼠標不會改變識別文本,擊鍵無效。
這是應該做什麼(至少在我的頭和根據tut): 致電表。 填充DGV。 允許通過按鍵對所選字段進行編輯。
我已花了大約三個星期試圖找到有關此信息,並沒有成功。 與編輯相關的DGV設置: DGV上的只讀爲假 編輯模式是DGV上的按鍵。Visual C#DataGridView編輯;設置了所有可能的編輯選項;將不會編輯
代碼是在這裏: http://pastebin.com/eCv3iBcF
但是,試圖編輯,什麼都不會發生,盒子剛剛轉顏色從選擇的時候;鼠標不會改變識別文本,擊鍵無效。
這是應該做什麼(至少在我的頭和根據tut): 致電表。 填充DGV。 允許通過按鍵對所選字段進行編輯。
問題是,您將BindingSource對象的數據源設置爲SQLDataReader對象。這是一個只讀對象。
DataReader僅限於只讀且只能轉發。也就是, 從數據庫檢索到的信息不能被 DataReader修改,DataReader也不能以隨機順序檢索記錄。 相反,一個DataReader被限制在 時間 順序訪問記錄,從第一個到最後一個,一個紀錄。」
您應該使用DataAdpater,而不是和填充的DataTable。 。
您然後使用數據表作爲數據源爲您的BindingSource
Alternativley,你罐剔你的DataReader這樣的: -
using(SqlDataReader reader = command.ExecuteReader())
{
DataTable data = new DataTable();
data.Load(reader);
}
希望這有助於。
更改編碼像下面......它會幫助你...
string query = "SELECT * FROM catalog";
using (MySqlConnection con = new MySqlConnection (connectionString))
{
con.Open();
using (MySqlDataAdapter dataAdapter = new MySqlDataAdapter(query , con))
{
DataSet ds = new DataSet();
dataAdapter.Fill(ds);
dataGridView1.DataSource = ds.Tables[0];
}
con.Close();
}
非常感謝你,現在是編輯。 – 2013-04-09 19:15:09