我在14年前的一个asp.net项目中添加了新的webforms。最初开发于VS2003,.NetFramework 1.1。我已经将该项目改编为VS2017,.NetFramework 4.5并且一切正常,除了我想要摆脱的这个小错误。
我有一个在两个页面上完美运行的datagridview,但我刚刚添加的第三个,表现不同。点击"编辑" (按钮[01-02] ...)当行处于编辑模式时,我点击不同行上的编辑按钮,datagridview应该只刷新而不做任何事情,我能够继续编辑字段但是现在datagridview刷新并在只读字段中给我一个文本框。再次单击[01-02]按钮时,我仍然可以继续编辑数据并保存成功。
我确保使用的数据集将此列设置为只读。 datagridview将此列设置为只读。
此行为在我更改了data-worker-layer-class之后开始,并通过将数据集复制到临时数据集来更改数据从数据库填充的方式,该临时数据集已调整为要呈现给用户的数据并返回该临时数据集到webform的代码隐藏。我已将sum列设置为只读。
我对我正在使用的这个旧网站了解的一些事情:
我真的想避免创建新的解决方案并重新编码......
答案 0 :(得分:0)
解决。首先我使用的网格是DataGrid(.net 1.1)而不是DataGridView。抱歉,混合。
数据绑定后我做了这个:
private void fillTheDataGrid()
{
DataSet dsData = this.getDataForMyGrid(...); //fetches data from the data-worker-class
dgMyGrid.DataSource = dsData;
dgMyGrid.DataBind();
((BoundColumn)dgMyGrid.Columns[10]).ReadOnly = true; // (Added this and it worked)
}