PopupContainer使用心得


現在看來,無論是lookupedit,Gridlookup,還是SearchLookUpedit都是PopupContainer的演化。

在PopupContainer上可以放置任意的控件。

 這個中有一些需要記錄的東西。

 

手動調用顯示popupcontainer

((PopupContainerEdit) sender).ShowPopup(); 

 

適當方式發生的;

同樣 QueryResultValue事件是它關閉時發生的事件,有如下代碼

         private  void repositoryItemPopupContainerEdit1_QueryResultValue( object sender, QueryResultValueEventArgs e)
        {

             // 將彈出窗口中的信息返回。e.value就會把信息顯示在grid上
            e.Value = ucDrag.gvDrug.GetRowCellValue(ucDrag.gvDrug.FocusedRowHandle,  " F_NAME ");

             // 設置grid上其他字段的數據
            gvSDJHD.SetRowCellValue(gvSDJHD.FocusedRowHandle,  " F_CODE ", ucDrag.DrugCode);

             // 一返回后就全選當前cell中的全部文字,以便輸入錯誤再次修改。
            TextEdit edit = gvSDJHD.ActiveEditor  as TextEdit;
             if (edit ==  nullreturn;
            edit.SelectAll();
            
        }

 

同樣,從上面可以看出,其實DevExpress中的gridview中的每一個單元其實還是textedit。知道這個就可以對它進行進一步的特殊處理。

 

我在PopupContainer中放置了另外一個GridControl,當點擊回車是執行選中記錄的操作。

 

         private  void gridControl2_KeyPress( object sender, KeyPressEventArgs e)
        {
             if (((Keys)e.KeyChar) == Keys.Enter)
            {
                 if (gvDrug.RowCount >  0)
                {
                    DrugCode = gvDrug.GetDataRow(gvDrug.FocusedRowHandle)[ " F_CODE "].ToString();
                    popupContainerControl1.OwnerEdit.ClosePopup();
                }
            }

        } 

其中帶ClosePopup的一句就是關閉當前彈出窗口的操作語句。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM