2011-04-27 117 views
0

當單擊ButtonEdit的省略號按鈕時,在ButtonEdit的ButtonClick事件中,我啓動另一個表單,用戶從中選擇一個表單。DevExpress RepositoryItemButtonEdit

該查找表單通知我選擇的值的原始形式。

當我的原始形式學習所選值時,它使用SetCellValue方法設置與ButtonEdit關聯的單元格的值。但是,該值不顯示,直到單元失去焦點。有沒有什麼辦法可以讓ButtonEdit作爲就地RowEdit的單元格仍然有焦點時顯示值?

回答

2

Set view.ActiveEditor.EditValue

+0

看起來很有希望。我會回報。謝謝 – Tim 2011-04-29 18:26:11

+0

按需要工作。謝謝! – Tim 2011-04-29 18:33:44

2

處理ButtonClick事件時,傳遞給事件處理程序的sender參數表示其值必須更改的編輯器實例。所以,我想發佈一個額外的解決方案,展示如何設置編輯器的值:

private void repositoryItemButtonEdit1_ButtonClick(object sender, DevExpress.XtraEditors.Controls.ButtonPressedEventArgs e) { 
    DevExpress.XtraEditors.ButtonEdit edit = sender as DevExpress.XtraEditors.ButtonEdit; 
    edit.EditValue = SomeValue; 
} 
+0

第二種解決方案不起作用。爲什麼?因爲在ButtonClick事件中,我將啓動另一個窗體作爲對話框(「查找窗體」)。當用戶在查找表單上做出選擇時,它會引發我原始表單正在偵聽的事件。它在LookupItemChosen事件中,我必須設置編輯值,而不是在ButtonClick事件中。 – Tim 2011-04-29 18:19:14

+0

如果可能的話,我會支持DevExpress團隊發佈的解決方案。 RepositoryItem應該總是有一個「OwnerEdit」作爲事件的發送者,但是編輯並不總是處於「視圖」中。 我也希望查找對話框有一個屬性爲其選定的值,而不是依賴於其中的事件。例如System.Windows.Forms.OpenFileDialog有它的屬性「FileName」。 – Snixtor 2012-02-27 06:18:38