2012-02-14 61 views
0

我一直在尋找通過網絡,但無法找到一個合適的回答...設置字段只讀了插件

我在C#寫了一個插件,當條件滿足,我想設置一個字段只讀...

在此先感謝!

+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 2012-02-14 15:04:34

+0

只讀在服務器級別,或者只讀在客戶端級別? – 2012-02-14 19:56:34

回答

5

我認爲你遇到的問題是你不能修改插件的字段的啓用/禁用。

你可以,但是,從JavaScript訪問字段:

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

這裏是如何設置的JavaScript表單信息:microsoft's form programming reference

+4

對於JavaScript代碼+1,但是你檢查了'AttributeMetadata.IsValidForFilter'屬性嗎?我只能想象這可以通過插件訪問。 http://msdn.microsoft.com/en-us/library/microsoft.xrm.sdk.metadata.attributemetadata.isvalidforupdate.aspx – 2012-02-14 21:44:59

+0

+1彼得,這是一個很好的觀點,我從來不知道這是適用的。 – Anwar 2012-02-15 10:46:09

+0

@PeterMajeed我沒有考慮這些屬性,好主意。如果OP想要對實體本身進行更改,那麼如果她想要暫時更改表單,她就會陷入JavaScript。 – BenPatterson1 2012-02-15 16:43:52