我有一个带有Datagridview的Windows窗体应用程序。启用编辑为TRUE,但我无法编辑datagrid中的字段。我正在使用具有SQL UNION的数据源。在没有UNION的情况下使用查询时,没关系。
我说的是甚至无法用F2或双击开始更改网格中的字段。我必须在这里使用union,但它似乎是一个问题,我找不到解决方案......
答案 0 :(得分:2)
更多代码会有所帮助,但似乎您的SQL数据源足够聪明,可以知道查询是只读的。
正如你所说,当你脱掉工会时,工作正常。因此将网格设置为
的数据源 SELECT FOO FROM MyTable
可能导致创建UPDATE MyTable
的相应更新查询。
SELECT FOO FROM MyTable UNION SELECT FOO FROM MyOtherTable
因此,网格可能足够智能,无法编辑这些字段。将DGV绑定到C#对象集合时,这是相同的行为;那些只读的列永远不会被编辑(他们怎么可能);