在win表单上,我使用编辑器将数据网格视图绑定到MS Access数据库。数据源创建了以下对象:绑定源,表适配器,表适配器管理器和绑定导航器。我的目标只是阅读信息,允许一些编辑,并将信息传递给另一个应用程序;因此,我不需要从原始数据库插入/更新/删除。此外,我在视图中添加了几个未绑定的列。因此,有多个“绑定”列和几个未绑定列。当我运行应用程序时,数据就在那里。但是,我无法编辑任何单元格(绑定或未绑定)。网格视图只读属性设置为false。列只读属性设置为false。我检查了表适配器上的每个字段,它们没有设置为只读。我不确定还有什么要检查的。我提前感谢您的帮助。
其他详情:
在设计器生成的代码中,列被设置为只读。但是,在实际的设计器属性中,我没有看到与这些字段相关的任何地方。我正在考虑手动将它们更改为false(我实际上已经做了,它确实解决了问题)并且还原了。我手动执行此操作是否存在问题?
//
// dataGridViewTextBoxColumn2
//
this.dataGridViewTextBoxColumn2.DataPropertyName = "FirstName";
this.dataGridViewTextBoxColumn2.HeaderText = "FirstName";
this.dataGridViewTextBoxColumn2.Name = "dataGridViewTextBoxColumn2";
this.dataGridViewTextBoxColumn2.ReadOnly = true;
//
// dataGridViewTextBoxColumn1
//
this.dataGridViewTextBoxColumn1.DataPropertyName = "LastName";
this.dataGridViewTextBoxColumn1.HeaderText = "LastName";
this.dataGridViewTextBoxColumn1.Name = "dataGridViewTextBoxColumn1";
this.dataGridViewTextBoxColumn1.ReadOnly = true;
//
// dataGridViewTextBoxColumn3
//
this.dataGridViewTextBoxColumn3.DataPropertyName = "Address";
this.dataGridViewTextBoxColumn3.HeaderText = "Address";
this.dataGridViewTextBoxColumn3.Name = "dataGridViewTextBoxColumn3";
this.dataGridViewTextBoxColumn3.ReadOnly = true;
//
// dataGridViewTextBoxColumn4
//
this.dataGridViewTextBoxColumn4.DataPropertyName = "City";
this.dataGridViewTextBoxColumn4.HeaderText = "City";
this.dataGridViewTextBoxColumn4.Name = "dataGridViewTextBoxColumn4";
this.dataGridViewTextBoxColumn4.ReadOnly = true;
答案 0 :(得分:0)
您需要通过将EditCellOnEnter属性设置为True
来在gridview中启用编辑检查出来(寻找细胞编辑):http://msdn.microsoft.com/en-us/library/ms993231.aspx
答案 1 :(得分:0)
当我编辑DataGridView的Columns属性时,我可以看到:[1] Add Group对话框中的Read-Only复选框(在OK和Cancel按钮附近的Visible和Frozen复选框之间)和[2]只读每个添加的列的属性(如果您使用的是分类视图,则在“行为”区域中)。