PopupContainer使用心得

梁浩
2023-12-01

现在看来,无论是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的一句就是关闭当前弹出窗口的操作语句。

posted on 2012-08-17 22:44  鸿鹄焉知燕雀 阅读( ...) 评论( ...) 编辑 收藏

转载于:https://www.cnblogs.com/lijh_ray/archive/2012/08/17/2644767.html

 类似资料: