2012-02-14 3 views
0

Я смотрел через сеть, но не может найти правильный ответ ...Установить поле только для чтения с плагином

Я написал плагин в C# и при выполнении условия, я хотел бы установить поле readonly ...

Заранее благодарен!

+0

Посмотрите на две ссылки один сделок с привязками, а другой - пример того, как вы можете это сделать ... http://msdn.microsoft.com/en-us/library/system.reflection.bindingflags.aspx | http: //stackoverflow.com/questions/934930/can-i-change-a-private-readonly-field-in-c-sharp-using-reflection – MethodMan

+0

Только для чтения на уровне сервера или только для чтения уровень клиента? –

ответ

5

Я думаю, что проблема, с которой вы сталкиваетесь, заключается в том, что вы не можете изменить включенное/отключенное поле из плагина.

Вы можете, однако, получить доступ к полям из JavaScript:

Xrm.Page.getControl('yourfieldname').setDisabled(true);

Вот информация о том, как настроить Javascript для форм: microsoft's form programming reference

+4

+1 для кода javascript, но вы проверили свойство 'AttributeMetadata.IsValidForFilter'? Я могу только представить, что это можно получить через плагин. http://msdn.microsoft.com/en-us/library/microsoft.xrm.sdk.metadata.attributemetataata.isvalidforupdate.aspx –

+0

+1 Питер, это хороший момент, я никогда не знал, что это применимо раньше. – Anwar

+0

@PeterMajeed Я не рассматривал эти свойства, хорошая идея. Если OP хочет внести изменения в сущность, которая имеет смысл, если она хочет временно изменить форму, она застряла с javascript. – BenPatterson1