我花了大约三个星期的时间试图找到有关这方面的信息并且没有成功。 与编辑相关的DGV设置: DGV上的readonly是假的 编辑模式是DGV上的按键。
代码在这里: http://pastebin.com/eCv3iBcF
然而,当尝试编辑时,没有任何反应,盒子只是从选择中变成颜色;鼠标不会改变以识别文本,键击什么也不做。
这是应该做的(至少在我的头脑中,根据啧啧): 打电话给桌子。 填充DGV。 允许通过按键对所选字段进行编辑。
答案 0 :(得分:2)
问题是您正在将BindingSource对象的数据源设置为SQLDataReader对象。这是一个只读对象。
DataReader仅限于只读和仅向前。那是, 从数据库中检索的信息不能被修改 DataReader,DataReader也不能以随机顺序检索记录。 相反,DataReader仅限于访问记录 顺序,从第一个到最后一个,一个记录在a 时间“。
您应该使用DataAdpater并填充DataTable。
然后使用DataTable作为BindingSource的数据源。
Alternativley,您可以像这样使用DataReader: -
using(SqlDataReader reader = command.ExecuteReader())
{
DataTable data = new DataTable();
data.Load(reader);
}
希望这有助于。
答案 1 :(得分:0)
如下所示更改您的编码......它会帮助您......
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();
}