2015-02-12 126 views
0

這裏的來電者獲得價值僅僅是我的代碼XAF,從彈出窗口中

[DefaulClassOptions] 
class APerson : XPObject 
{ 
    private int data; 
    public int Data { 
    get{ return data; } set { SetPropertyValue("Data", ref data, value); } 
    } 

    [Action(Caption = "Get Data")] 
     public void getData(myClass mclass) 
     { 
      this.Data = mclass.Data2; 
     } 
} 

class myClass 
{ 
    private int data2; 
    public int Data2 { 
    get; set; 
    } 
} 

一個簡單的例子,現在,一切工作正常。點擊「獲取數據」按鈕打開一個彈出窗口並提示輸入該字段。我想知道如果通過這種方式,我可以將數據從APerson類發送到彈出窗口,以便它在之前已經設置的情況下顯示數據值。

+1

我在博客這個早在2010年http://apobekiaris.blogspot.gr/2010/03/xaf-tip-12-how-to-pass-parameters.html – 2015-02-13 03:16:20

回答

-1

使用僅爲簡單情況設計的ActionAttribute是不可能的。對於更復雜的場景,請使用帶有PopupWindowShowAction的ViewController,並根據this XAF documentation article訪問當前的View對象信息。

+0

我用下面的代碼popWindowParams功能: e.View = Application.CreateDetailView(objectSpace,Application.FindDetailViewId(typeof(myClass)),true); 但它不顯示在編輯模式,所以我可以輸入我的值。 – user1821344 2015-02-13 16:51:32

+0

我改變了代碼,但仍然無法輸入數據,這些字段被禁用 DetailView dv = Application.CreateDetailView(objectSpace,Application.FindDetailViewId(typeof(myClass)),true); dv.ViewEditMode = ViewEditMode.Edit; e.View = dv; – user1821344 2015-02-16 12:34:38

+0

由於沒有爲此DetailView設置MyClass對象,因此無法輸入任何數據。要麼使用另一個重載,要麼直接設置DetailView.CurrentObject屬性。 P.S. 我推薦你使用官方的DevExpress支持通道來獲得DevExpress相關問題的更快速的幫助:https://www.devexpress.com/Support/Center/Question/Create – 2015-02-17 15:09:28