将onchange事件添加到Dynamics CRM 4中的“锁定”字段

时间:2009-07-30 22:59:21

标签: dynamics-crm dynamics-crm-4 crm

我正在自定义Dynamics CRM 4,并希望修改Case实体的Form,以便为知识库文章查找字段(kbarticleid_ledit)的onchange事件添加一些JavaScript。但是,当我单击该字段的更改属性时,我收到一条错误消息:

此字段属于已锁定的部分,无法修改其属性。

我如何解决这个问题并进行编辑?是否有与customizing the Article view类似的解决方法?或者,我可以以某种方式破解数据库以“解锁”该字段吗?

2 个答案:

答案 0 :(得分:2)

好的,我明白了 - 发布在这里以防万一其他人遇到同样的问题。您需要将Case实体的自定义项导出到XML并编辑XML。您可以通过查找XML中的相应元素并将属性 locklevel =“1”更改为 locklevel =“0”来“解锁”该部分。

然而,解锁它并没有帮助我编辑onchange事件代码。 CRM已经为该事件提供了一些代码,当我在UI中添加我的代码时,它向XML添加了第二个“onchange”事件!因此,我被迫手动编辑XML中的代码(当然使用正确的XML编码),然后重新导入并发布自定义项。

答案 1 :(得分:2)

您还可以从onload事件添加onchange代码。例如,如果锁定字段的id是lockedField,则可以执行类似的操作。

var field = crmForm.all.lockedField;
if (field)
    field.attachEvent('onchange', onChangeEventHandler);

function onChangeEventHandler()
{
    // do something 
}