我有一个绑定到ObjectDataSource的GridView,它返回MyDto的一些实例。 一切正常,除了在列中我想要显示在MyDto中计算的值(通过只读属性),这会在编辑期间导致一些问题。编辑模式是内联的。
我在EditFormSettings中将该列设置为readonly property = True和Visible = False,但是当我插入新行并按下Update时,ObjectDataSource会在ObjectDataSource中的DataObjectTypeName属性指定的类型上抛出异常“The CalculatedValue”属性'MyDataSource'是只读的,无法设置其值。“
我不明白为什么GridView会尝试更新只读值。 谢谢。
答案 0 :(得分:0)
出现问题的原因是GridView会自动尝试更新每个绑定列,只读或不读取(从用户的角度来看,只读是尊重)。
我为已插入空模板的计算列编辑了EditItemTemplate。这样我在编辑模式下看不到任何东西,并且GridView不会尝试更新readonly属性,我在显示模式下看到(自动创建的)绑定模板(带有计算值)。