コード例 #1
0
        /// <summary>
        /// 设置grid的编辑方式。
        /// </summary>
        /// <param name="xtraGrid"></param>
        /// <param name="autoNewRow"></param>
        public void SetGridViewNewItem(DevExpress.XtraGrid.GridControl xtraGrid, bool autoNewRow, XtraContextMenuType appendMenus) {
            DevExpress.XtraGrid.Views.Grid.GridView gridView = xtraGrid.MainView as DevExpress.XtraGrid.Views.Grid.GridView;
            if (gridView == null)
                return;
            gridView.OptionsView.NewItemRowPosition = autoNewRow ? DevExpress.XtraGrid.Views.Grid.NewItemRowPosition.Bottom : DevExpress.XtraGrid.Views.Grid.NewItemRowPosition.None;
            gridView.OptionsNavigation.AutoFocusNewRow = autoNewRow;
            gridView.OptionsNavigation.AutoMoveRowFocus = true;
            gridView.OptionsNavigation.EnterMoveNextColumn = true;


            //重新设置弹出菜单的操作项。
            GridControlEx grdEx = xtraGrid as GridControlEx;
            if (grdEx != null) {
                grdEx.ReSetContextMenu(appendMenus);
            }
        }
コード例 #2
0
        /// <summary>
        ///  动态列绑定处理相关。
        /// </summary>
        /// <param name="dataSource"></param>
        /// <param name="gridControl"></param>
        /// <param name="xmlFileName"></param>
        public void CreateDataBinding(MB.WinBase.Data.HViewDataConvert <T> convertObject, List <T> lstEntitys, string gridLayoutCfgName)
        {
            using (MB.Util.MethodTraceWithTime trace = new MB.Util.MethodTraceWithTime("MB.WinClientDefault.Common.UIDynamicColumnBinding<" + typeof(T).FullName + ">.CreateDataBinding")) {
                _HViewConvertObject = convertObject;
                _CurrentEditEntitys = lstEntitys;


                var gridViewLayoutInfo = MB.WinBase.LayoutXmlConfigHelper.Instance.GetGridColumnLayoutInfo(_CurrentXmlFileName, gridLayoutCfgName);
                MB.XWinLib.XtraGrid.DynamicColumnBandGridHelper <T> dynamicBandHelper = new MB.XWinLib.XtraGrid.DynamicColumnBandGridHelper <T>();


                _CurrentEditTable = convertObject.Convert(lstEntitys, _ColPropertys);

                onAfterDataConvert();

                if (convertObject.ConvertCfgParam.DynamicColumnCaption)
                {
                    gridViewLayoutInfo = dynamicBandHelper.ResetDynamicCaptionColumnViewLayout(convertObject, gridViewLayoutInfo);
                }
                else
                {
                    gridViewLayoutInfo = dynamicBandHelper.ResetDynamicColumnViewLayout(convertObject, gridViewLayoutInfo);
                }

                var detailBindingParams = new MB.XWinLib.GridDataBindingParam(_XtraGrid, _CurrentEditTable, false);


                MB.XWinLib.XtraGrid.XtraGridEditHelper.Instance.CreateEditXtraGrid(detailBindingParams, _ColPropertys, _EditCols, gridViewLayoutInfo);
                //if (convertObject.ConvertCfgParam.DynamicColumnCaption) {
                iniDynamicBandColumns();
                // }
                MB.XWinLib.XtraGrid.XtraGridViewHelper.Instance.SetGridViewNewItem(_XtraGrid, false);
                _XtraGrid.ReSetContextMenu(XtraContextMenuType.QuickInput
                                           | XtraContextMenuType.Export | XtraContextMenuType.SaveGridState);


                setDynamicColumnOnFocusedRowChanged(_AdvBandGridView.FocusedRowHandle);
            }
        }