如果它是一個選擇列表,你將不得不提供索引值。假設你有一個名爲TargetValues.Contact其值爲1的枚舉,那麼它會是這樣的:
map.targetentity = new Picklist();
//map.targetentity.name = "Contact"
map.targetentity.Value = Convert.ToInt32(TargetEntities.Contact);
- 編輯 -
我相信你正在努力實現你將不得不以某種方式是什麼檢索目標實體,只有這樣你才能枚舉它們。
See this,這可能會有所幫助。
如果上面是沒有用的,那麼下面是你如何能做到這:
- 開領料單,從UI,寫下指數及其cooresponding值的數量。
- 在代碼中創建一個枚舉,併爲其分配這些值/索引。
- 在運行時使用枚舉(在上面的示例中給出)來設置選取列表。
但後來不知怎的指數可能在一段時間內發生變化,所以在這種情況下,你可以創建這些值/索引枚舉XML,並加載它們在運行時。但是,這種方法的問題是:
- 每當任何人要更改索引,這是非常罕見的,管理員還必須更改xml文件。
- 加載外部xml文件是開銷。
不是很好的方法,但在截止日期前運行,這是你可以做的;這永遠不會中斷或造成麻煩。只是XML加載部分不好。
順便說一句,如果你想通過CRM SDK,你會發現類似的例子。
謝謝,這幾乎是我想通。問題是我試圖設置的這個選項列表實際上是系統中所有實體類型的列表,包括自定義列表,所以我不知道在設計時索引會是什麼。有沒有一種方法來延遲加載和枚舉選擇列表?謝謝 – Matt 2009-11-20 11:59:58
馬特,對於遲到的迴應感到抱歉;請看我最新的回覆。 – 2009-11-23 07:31:01