我需要禁止在sharepoint列表的表视图中编辑一个计算列。让我们考虑一个包含字段的列表
bool Microsoft.SharePoint.SPField.ReadOnlyField
, true
默认为Total
,但我可以编辑公式。将属性设置为false
不会改变任何内容,我仍然可以编辑公式。将其他两个数字字段的属性设置为true
,默认情况下为false
,确实有效。 Total
字段的XML架构是
<Field Type="Calculated" DisplayName="Total" EnforceUniqueValues="FALSE"
Indexed="FALSE" Format="DateOnly" LCID="1049" ResultType="Number"
ReadOnly="TRUE" ID="{44447323-0826-4389-8e4b-d4c11c14a45a}" SourceID="
{b6514d3e-3789-4354-97af-94e915562a35}" StaticName="_x0442__x0440__x0438_"
Name="_x0442__x0440__x0438_" ColName="sql_variant1" RowOrdinal="0"
Version="4">
<Formula>=_x043e__x0434__x0438__x043d_*_x0434__x0432__x0430_</Formula>
<FieldRefs>
<FieldRef Name="_x0434__x0432__x0430_" />
<FieldRef Name="_x043e__x0434__x0438__x043d_" />
</FieldRefs>
</Field>
我还发现了一个使用jQuery的客户端方法,如下所示:
$("input[title='Metrics ID']").attr("readonly","true").css('background-color','#F6F6F6');
,但是我无法找到一个DOM元素,它可以复制接近该字段的任何内容。你能给我一些建议吗?