lijh_ray

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

现在看来,无论是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  鸿鹄焉知燕雀  阅读(7805)  评论(1编辑  收藏  举报