Ejemplo n.º 1
0
 /// <summary>設定Grid-ComboBox  </summary>
 /// <param name="column"></param>
 /// <param name="valueField"></param>
 /// <param name="textField"></param>
 /// <param name="dataSource"></param>
 public static void SetComboBox(MVCxGridViewColumn column, string valueField, string textField, object dataSource)
 {
     column.EditorProperties().ComboBox(
         p =>
     {
         p.TextField  = textField;
         p.ValueField = valueField;
         p.DataSource = dataSource;
     });
 }
Ejemplo n.º 2
0
 /// <summary>Column基本設定</summary>
 /// <param name="column"></param>
 /// <param name="fieldName"></param>
 /// <param name="caption"></param>
 /// <param name="showEditorInBatchEditMode"></param>
 public static void SetColumns(MVCxGridViewColumn column, string fieldName, string caption, bool showEditorInBatchEditMode = true)
 {
     column.FieldName = fieldName;
     column.Caption   = caption;
     column.Settings.ShowEditorInBatchEditMode = showEditorInBatchEditMode;
     if (!showEditorInBatchEditMode)
     {
         column.CellStyle.BackColor = System.Drawing.Color.Beige;
     }
 }
Ejemplo n.º 3
0
        private static void SetNewColumn(MVCxGridViewColumn column, AvrViewColumn col, PdfExportHelper pdfHelper)
        {
            column.Name                 = col.UniquePath;
            column.FieldName            = col.UniquePath;
            column.HeaderStyle.CssClass = "gridColumnHeader";

            // link to datasource
            if (!col.IsAggregate)
            {
                if (col.FieldType == typeof(DateTime))
                {
                    column.ColumnType = MVCxGridViewColumnType.DateEdit;
                    column.PropertiesEdit.DisplayFormatString = "d"; //col.PrecisionStringWeb;
                }
                else //if (col.FieldType == typeof(string))
                {
                    column.ColumnType = MVCxGridViewColumnType.TextBox;

                    if (col.FieldType.IsNumeric() && !String.IsNullOrEmpty(col.PrecisionStringWeb))
                    {
                        column.PropertiesEdit.DisplayFormatString = col.PrecisionStringWeb;
                    }
                }
                // sorting
                if (col.SortOrder.HasValue && col.SortOrder.Value >= 0)
                {
                    column.SortOrder = col.IsSortAscending ? ColumnSortOrder.Ascending : ColumnSortOrder.Descending;
                    column.SortIndex = col.SortOrder.Value;
                }
            }
            else
            {
                // field type
                column.ColumnType = MVCxGridViewColumnType.TextBox;
                column.PropertiesEdit.DisplayFormatString = String.IsNullOrEmpty(col.PrecisionStringWeb) ? "" : col.PrecisionStringWeb;

                // sorting
                // aggregate columns are unsortable
                column.Settings.AllowSort = DefaultBoolean.False;
            }

            column.Caption  = pdfHelper.ProcessString(col.DisplayText);
            column.ReadOnly = true;
            // filtration
            column.Settings.HeaderFilterMode = HeaderFilterMode.List;//CheckedList

            // visability
            column.Visible = col.IsVisible;
            // freesing
            column.FixedStyle = col.IsFreezed ? GridViewColumnFixedStyle.Left : GridViewColumnFixedStyle.None;
            // width
            column.MinWidth = 30;
            column.Width    = Unit.Pixel(col.ColumnWidth);
            column.CellStyle.HorizontalAlign = HorizontalAlign.Center;
        }
Ejemplo n.º 4
0
        /// <summary>
        /// Устанавливает настройки для колонки с периодом.
        /// </summary>
        /// <param name="column">Колонка.</param>
        /// <param name="token">Токен безопасности.</param>
        public static void SetDatePeriod(this MVCxGridViewColumn column, SecurityToken token)
        {
            column.ColumnType = MVCxGridViewColumnType.DateEdit;
            var dateEditProperties = column.PropertiesEdit as DateEditProperties;

            dateEditProperties.SetDefaultProperties(token);
            column.Settings.AllowHeaderFilter         = DefaultBoolean.True;
            column.PropertiesEdit.DisplayFormatString = "d";
            column.SettingsHeaderFilter.Mode          = GridHeaderFilterMode.DateRangePicker;
            column.Settings.AllowAutoFilter           = DefaultBoolean.False;
        }
Ejemplo n.º 5
0
 /// <summary>設定Grid-Textbox</summary>
 /// <param name="i"></param>
 /// <param name="displayFormatString"></param>
 public static void SetTextBox(MVCxGridViewColumn column, string displayFormatString)
 {
     column.EditorProperties().TextBox(
         p =>
     {
         if (!string.IsNullOrWhiteSpace(displayFormatString))
         {
             p.DisplayFormatString = displayFormatString;
         }
     });
 }
Ejemplo n.º 6
0
        public static void Grid_ClientLayout(object s, ASPxClientLayoutArgs e)
        {
            MVCxGridView grid      = (MVCxGridView)s;
            var          viewModel = GetModelFromSession(grid);

            if (e.LayoutMode == ClientLayoutMode.Saving && viewModel != null)
            {
                bool bSortChanged = false;
                foreach (GridViewColumn column in grid.AllColumns)
                {
                    if (column is MVCxGridViewColumn)
                    {
                        MVCxGridViewColumn MVCcolumn = (MVCxGridViewColumn)column;
                        var col = viewModel.ViewHeader.GetColumnByOriginalName(MVCcolumn.FieldName);
                        if (col != null)
                        {
                            col.IsVisible = MVCcolumn.Visible;
                            if ((!col.SortOrder.HasValue && MVCcolumn.SortIndex != -1) ||
                                (col.SortOrder.HasValue && col.SortOrder.Value != MVCcolumn.SortIndex) ||
                                (col.SortOrder.HasValue && col.IsSortAscending == (MVCcolumn.SortOrder == ColumnSortOrder.Descending))
                                )
                            {
                                bSortChanged = true;
                            }

                            col.SortOrder       = MVCcolumn.SortIndex;
                            col.IsSortAscending = !(MVCcolumn.SortOrder == ColumnSortOrder.Descending);
                            col.ColumnFilter    = ((GridViewDataColumn)MVCcolumn).FilterExpression;
                            col.ColumnWidth     = MVCcolumn.Width.IsEmpty ? AvrView.DefaultFieldWidth : (int)MVCcolumn.Width.Value;
                        }
                    }
                    else if (column is MVCxGridViewBandColumn)
                    {
                        MVCxGridViewBandColumn MVCband = (MVCxGridViewBandColumn)column;
                        var band = viewModel.ViewHeader.GetBandByOriginalName(MVCband.Name);
                        if (band != null)
                        {
                            band.IsVisible = MVCband.Visible;
                        }
                    }
                }
                if (bSortChanged)
                {
                    viewModel.ViewHeader.GetAggregateColumnsList().ForEach(c => AggregateCasheWeb.FillAggregateColumn(viewModel.ViewData, c, viewModel.ViewHeader.GetSortExpression()));
                }
            }
            else
            {
            }
        }
Ejemplo n.º 7
0
        public static GridViewSettings <TModel> GetGridViewSetting <TModel>(ECOM.Models.GridViewConfig gridConfig, bool IsGenerateColumn = true)
        {
            var gridViewSettings = new GridViewSettings <TModel>();

            gridViewSettings.Name                    = gridConfig.GridViewName;
            gridViewSettings.KeyFieldName            = gridConfig.KeyFieldName;
            gridViewSettings.SettingsPager.PageSize  = gridConfig.PageSize;
            gridViewSettings.CallbackRouteValues     = gridConfig.CallbackRouteValues;
            gridViewSettings.CustomActionRouteValues = gridConfig.CustomActionRouteValues;

            gridViewSettings.SettingsPager.Position = System.Web.UI.WebControls.PagerPosition.TopAndBottom;
            gridViewSettings.SettingsPager.FirstPageButton.Visible      = true;
            gridViewSettings.SettingsPager.LastPageButton.Visible       = true;
            gridViewSettings.SettingsPager.PageSizeItemSettings.Visible = true;
            //gridViewSettings.Settings.HorizontalScrollBarMode = ScrollBarMode.Auto;
            gridViewSettings.Width  = System.Web.UI.WebControls.Unit.Percentage(100);
            gridViewSettings.Height = System.Web.UI.WebControls.Unit.Percentage(100);

            gridViewSettings.SettingsBehavior.ColumnResizeMode = ColumnResizeMode.Control;

            gridViewSettings.CommandColumn.Visible = true;
            gridViewSettings.CommandColumn.ShowClearFilterButton = true;
            gridViewSettings.Settings.ShowFilterRow     = true;
            gridViewSettings.Settings.ShowFilterRowMenu = true;

            gridViewSettings.SettingsPager.PageSizeItemSettings.Items = new string[] { "10", "25", "50", "100" };

            gridViewSettings.SettingsBehavior.AllowFocusedRow = true; //Selected Row

            gridViewSettings.Settings.HorizontalScrollBarMode = ScrollBarMode.Auto;
            //gridViewSettings.Settings.VerticalScrollBarMode = ScrollBarMode.Auto;

            gridViewSettings.ControlStyle.CssClass = "grid-view-custom";

            if (IsGenerateColumn)
            {
                foreach (var item in gridConfig.Columns)
                {
                    MVCxGridViewColumn cloumn = gridViewSettings.Columns.Add();
                    cloumn.FieldName = item.ColumnName;
                    cloumn.Caption   = item.DisplayText;
                    cloumn.Visible   = item.Enable;
                }
            }

            return(gridViewSettings);
        }
Ejemplo n.º 8
0
        public static void GetBasicColumnProperty(ref MVCxGridViewColumn column, string tb_NM, string col_NM, ColumnType type = ColumnType.None, int?width = null, bool isVisible = true)
        {
            column.FieldName = col_NM;
            var nm = col_NM;

            switch (type)
            {
            case ColumnType.Date:
                nm = col_NM.Replace("dt", "");
                column.PropertiesEdit.DisplayFormatString = "yyyy/MM/dd";
                break;
            }
            //column.Caption = DDMHelper.GetColName(tb_NM, nm);

            if (width.HasValue)
            {
                column.Width = width.Value;
            }

            column.Visible = isVisible;
        }
Ejemplo n.º 9
0
        private static void SetProperties(this MVCxGridViewColumn gcol, GridDisplayColumn columnInfo)
        {
            gcol.Settings.AllowSort           = columnInfo.AllowSort;
            gcol.Settings.FilterMode          = columnInfo.FilterMode;
            gcol.Settings.AllowHeaderFilter   = columnInfo.AllowHeaderFilter;
            gcol.Settings.AutoFilterCondition = columnInfo.AutoFilterCondition;
            gcol.ReadOnly = columnInfo.IsReadOnly;
            gcol.EditFormSettings.Visible = columnInfo.AllowEditLayout;
            gcol.Hide(!columnInfo.IsVisible);
            gcol.Settings.ShowEditorInBatchEditMode = !columnInfo.IsReadOnly;

            if (columnInfo.IsReadOnly)
            {
                gcol.EditFormSettings.Visible = DefaultBoolean.False;
            }
            gcol.ShowInCustomizationForm = columnInfo.Customizable;

            if (columnInfo.GroupIndex.HasValue)
            {
                gcol.GroupIndex = columnInfo.GroupIndex.Value;
            }
        }
Ejemplo n.º 10
0
 public static void Hide(this MVCxGridViewColumn gcol, bool hide)
 {
     if (hide)
     {
         gcol.CellStyle.CssClass                  = HideCellCSSName;
         gcol.HeaderStyle.CssClass                = HideCellCSSName;
         gcol.FooterCellStyle.CssClass            = HideCellCSSName;
         gcol.GroupFooterCellStyle.CssClass       = HideCellCSSName;
         gcol.FilterCellStyle.CssClass            = HideCellCSSName;
         gcol.Settings.ShowEditorInBatchEditMode  = false;
         gcol.BatchEditModifiedCellStyle.CssClass = HideCellCSSName;
         gcol.EditFormSettings.Visible            = DefaultBoolean.False;
     }
     else
     {
         gcol.CellStyle.CssClass                  = string.Empty;
         gcol.HeaderStyle.CssClass                = string.Empty;
         gcol.FooterCellStyle.CssClass            = string.Empty;
         gcol.GroupFooterCellStyle.CssClass       = string.Empty;
         gcol.FilterCellStyle.CssClass            = string.Empty;
         gcol.BatchEditModifiedCellStyle.CssClass = string.Empty;
         gcol.EditFormSettings.Visible            = DefaultBoolean.True;
     }
 }
Ejemplo n.º 11
0
        public static GridViewSettings GetGridSettings(string action, string reportName)
        {
            var settings = new GridViewSettings();

            settings.Name = "GridView";
            settings.CallbackRouteValues = new { Controller = "Home", Action = "_" + action };
            settings.Width = System.Web.UI.WebControls.Unit.Percentage(100);
            // Export-specific settings
            settings.SettingsExport.ExportSelectedRowsOnly = false;
            //settings.SettingsExport. = "Report.pdf";
            //settings.SettingsExport.PageHeader = new DevExpress.Web.GridViewExporterHeaderFooter;
            settings.SettingsExport.PageHeader.Center = BusinessLogic.Home.TranslateWord.GetWord(reportName);

            settings.SettingsExport.PageHeader.Font.Name = "segoe ui";
            settings.SettingsExport.PageHeader.Font.Size = 14;
            //
            settings.SettingsExport.Landscape             = MySession.Current.MySetting.IsPageLandscape;
            settings.SettingsExport.Styles.Cell.Font.Size = 10;
            settings.SettingsExport.FileName  = DateTime.Now.Day.ToString() + "." + DateTime.Now.Month.ToString() + "." + DateTime.Now.Year.ToString() + ".pdf";
            settings.SettingsExport.PaperKind = System.Drawing.Printing.PaperKind.A4;
            //settings.SettingsPager.Mode = GridViewPagerState.ShowAllRecords;

            switch (action)
            {
            case "GridViewWorks":
                settings.KeyFieldName = "id";
                settings.Columns.Add(nameof(Database.Work.name), "Denumire");
                settings.Columns.Add(nameof(Database.Work.date_start), "Data început").PropertiesEdit.DisplayFormatString = Const.DateTimeFormat;
                settings.Columns.Add(nameof(Database.Work.date_end), "Data finisării").PropertiesEdit.DisplayFormatString = Const.DateTimeFormat;
                settings.Columns.Add(nameof(Database.Work.surface_work), "Cantitatea");
                settings.Columns.Add(c =>
                {
                    c.FieldName = nameof(Database.Work.unit_id);
                    c.Caption   = "Unitate";
                    c.EditorProperties().ComboBox(p =>
                    {
                        p.TextField  = "Name";
                        p.ValueField = "Id";
                        p.ValueType  = typeof(int);
                        p.DataSource = MySession.Current.Units;
                    });
                });
                settings.Columns.Add(nameof(Database.Work.unit_price), "Preț unitate");
                MVCxGridViewColumn column = settings.Columns.Add("Total");
                column.UnboundType = DevExpress.Data.UnboundColumnType.Decimal;
                settings.CustomUnboundColumnData = (sender, e) => {
                    if (e.Column.FieldName == "Total")
                    {
                        decimal price   = MyConvert.ToDecimal(e.GetListSourceFieldValue(nameof(Database.Work.unit_price_worker)).ToString());
                        decimal surface = MyConvert.ToDecimal(e.GetListSourceFieldValue(nameof(Database.Work.surface_work)).ToString());
                        e.Value = price * surface;
                    }
                };
                settings.TotalSummary.Add(DevExpress.Data.SummaryItemType.Sum, "Total");
                settings.Settings.ShowFooter = true;
                break;

            case "GridViewMaterial":
                settings.KeyFieldName = "id";
                settings.Columns.Add(nameof(Database.ObjectMaterial.material_description), "Denumire material");
                settings.Columns.Add(nameof(Database.ObjectMaterial.buyed_date), "Data procurării").PropertiesEdit.DisplayFormatString = Const.DateTimeFormat;
                settings.Columns.Add(nameof(Database.ObjectMaterial.quantity), "Cantitatea");
                MVCxGridViewColumn col = settings.Columns.Add("Preț total");
                col.UnboundType = DevExpress.Data.UnboundColumnType.Decimal;
                settings.CustomUnboundColumnData = (sender, e) => {
                    if (e.Column.FieldName == "Preț total")
                    {
                        decimal price = MyConvert.ToDecimal(
                            e.GetListSourceFieldValue(nameof(Database.ObjectMaterial.unit_price)).ToString());
                        decimal quantity = MyConvert.ToDecimal(
                            e.GetListSourceFieldValue(nameof(Database.ObjectMaterial.quantity)).ToString());
                        e.Value = price * quantity;
                    }
                };
                settings.TotalSummary.Add(DevExpress.Data.SummaryItemType.Sum, "Preț total");
                settings.Settings.ShowFooter = true;
                break;

            case "GridViewExtra":
                settings.KeyFieldName = "id";
                settings.Columns.Add(nameof(Database.ObjectExtra.description), "Descrierea");
                settings.Columns.Add(nameof(Database.ObjectExtra.create_date), "Data creării").PropertiesEdit.DisplayFormatString = Const.DateTimeFormat;
                settings.Columns.Add(nameof(Database.ObjectExtra.price), "Prețul");
                settings.TotalSummary.Add(DevExpress.Data.SummaryItemType.Sum, nameof(Database.ObjectExtra.price));
                settings.Settings.ShowFooter = true;
                break;

            case "GridViewInstrument":
                settings.KeyFieldName = "id";
                settings.Columns.Add(nameof(Database.ObjectInstrument.model), "Model");
                settings.Columns.Add(nameof(Database.ObjectInstrument.first_day), "Data împrumut").PropertiesEdit.DisplayFormatString = Const.DateTimeFormat;
                settings.Columns.Add(nameof(Database.ObjectInstrument.last_day), "Data predării").PropertiesEdit.DisplayFormatString  = Const.DateTimeFormat;
                settings.Columns.Add(nameof(Database.ObjectInstrument.quantity), "Cantitatea");
                settings.Columns.Add(nameof(Database.ObjectInstrument.total_price), "Preț total");
                settings.Columns.Add(nameof(Database.ObjectInstrument.responsabile_person), "Responsabil");
                settings.TotalSummary.Add(DevExpress.Data.SummaryItemType.Sum, nameof(Database.ObjectInstrument.total_price));
                settings.Settings.ShowFooter = true;
                break;

            case "GridViewPayments":
                settings.KeyFieldName = nameof(Database.WorkerPayment.id);
                settings.Columns.Add(nameof(Database.WorkerPayment.payment_date), Const.PaymentDate);
                settings.Columns.Add(nameof(Database.WorkerPayment.payment_type), Const.PaymentType);
                settings.Columns.Add(c =>
                {
                    c.FieldName = nameof(Database.WorkerPayment.payment_type);
                    c.Caption   = "Tip Achitare";
                    c.EditorProperties().ComboBox(p =>
                    {
                        p.DataSource = MySession.Current.PaymentTypes;
                        p.TextField  = "Value";
                        p.ValueField = "Key";
                        p.ValueType  = typeof(string);
                    });
                });
                //settings.Columns.Add(nameof(Database.WorkerPayment.work_id), Const.Work);
                settings.Columns.Add(c =>
                {
                    c.FieldName = nameof(Database.WorkerPayment.work_id);
                    c.Caption   = Const.Work;
                    c.EditorProperties().ComboBox(p =>
                    {
                        p.TextField  = nameof(Database.Work.name);
                        p.ValueField = "Id";
                        p.ValueType  = typeof(int);
                        p.DataSource = MySession.Current.Works;
                    });
                });
                settings.Columns.Add(nameof(Database.WorkerPayment.amount), Const.Amount);
                settings.TotalSummary.Add(DevExpress.Data.SummaryItemType.Sum, nameof(Database.WorkerPayment.amount));
                settings.Settings.ShowFooter = true;
                break;
            }
            return(settings);
        }
Ejemplo n.º 12
0
        /// <summary>設定Column加總</summary>
        /// <param name="settings"></param>
        /// <param name="helper"></param>
        /// <param name="column"></param>
        public static void SetColumnSummary(GridViewSettings settings, HtmlHelper helper, MVCxGridViewColumn column)
        {
            column.UnboundType = DevExpress.Data.UnboundColumnType.Decimal;
            ASPxSummaryItem summaryItem = new ASPxSummaryItem(column.FieldName, DevExpress.Data.SummaryItemType.Sum);

            summaryItem.Tag           = column.FieldName + "_Sum";
            summaryItem.DisplayFormat = "<strong>{0}</strong>";
            settings.TotalSummary.Add(summaryItem);

            column.SetFooterTemplateContent(c =>
            {
                helper.DevExpress().Label(lbSettings =>
                {
                    lbSettings.Name = "label" + column.FieldName;
                    lbSettings.Properties.EnableClientSideAPI = true;
                    ASPxSummaryItem summaryItem1 = c.Grid.TotalSummary.First(i => i.Tag == (column.FieldName + "_Sum"));
                    if (c.Grid.GetTotalSummaryValue(summaryItem1) != null)
                    {
                        lbSettings.Text = c.Grid.GetTotalSummaryValue(summaryItem1).ToString();
                    }
                    else
                    {
                        lbSettings.Text = "";
                    }
                }).Render();
            });

            settings.Settings.ShowFooter = true;
        }
Ejemplo n.º 13
0
 /// <summary>
 /// Устанавливает настройки для колонки с числами.
 /// </summary>
 /// <param name="column">Колонка.</param>
 /// <param name="token">Токен безопасности.</param>
 public static void SetNumeric(this MVCxGridViewColumn column, SecurityToken token)
 {
     column.ColumnType = MVCxGridViewColumnType.SpinEdit;
     column.PropertiesEdit.DisplayFormatString = "#.00";
 }
Ejemplo n.º 14
0
        public static void Configure(this GridViewSettings gridSettings, GridData gridData, HtmlHelper html, ViewContext viewContext, GridSettingOptions gridSettingOptions = null, params string[] arguments)
        {
            gridSettings.Width  = Unit.Percentage(100);
            gridSettings.Height = Unit.Percentage(100);

            if (gridSettingOptions == null)
            {
                gridSettingOptions = new GridSettingOptions();
            }

            gridSettings.Settings.HorizontalScrollBarMode = gridSettingOptions.HorizontalScrollBarMode;
            gridSettings.Settings.VerticalScrollBarMode   = gridSettingOptions.VerticalScrollBarMode;

            if (gridSettingOptions.VerticalScrollableHeight.HasValue)
            {
                gridSettings.Settings.VerticalScrollableHeight = gridSettingOptions.VerticalScrollableHeight.Value;
            }

            //Grid Specific configurations
            gridSettings.KeyFieldName = gridData.Key;
            gridSettings.Name         = $"{gridData.Name}";


            gridSettings.Styles.Header.Wrap = DefaultBoolean.True;

            gridSettings.SettingsExport.EnableClientSideExportAPI = true;
            gridSettings.SettingsExport.ExcelExportMode           = DevExpress.Export.ExportType.DataAware;

            if (gridSettingOptions.ShowTitle)
            {
                gridSettings.Settings.ShowTitlePanel = true;
                gridSettings.SettingsText.Title      = gridData.Title;
            }
            else
            {
                gridSettings.Caption = gridData.Title;
            }

            if (gridData.GroupSetting != null)
            {
                gridSettings.SettingsBehavior.AutoExpandAllGroups = gridData.GroupSetting.AutoExpandAllGroups;
                gridSettings.SettingsBehavior.MergeGroupsMode     = gridData.GroupSetting.GroupMode;

                if (gridData.GroupSetting.GroupFormatForMergedGroup != null)
                {
                    gridSettings.Settings.GroupFormatForMergedGroup = gridData.GroupSetting.GroupFormatForMergedGroup;
                }

                if (gridData.GroupSetting.MergedGroupSeparator != null)
                {
                    gridSettings.Settings.MergedGroupSeparator = gridData.GroupSetting.MergedGroupSeparator;
                }
            }


            gridSettings.Styles.AlternatingRow.BackColor = gridData.AlternateRowColor;

            #region Configure Toolbars


            if (gridData.ToolBarOptions.Show)
            {
                gridSettings.AddToolBar(html, viewContext, gridData);
            }
            #endregion

            #region Configure Columns
            foreach (var col in gridData.DisplayColumns.OrderBy(c => c.Order))
            {
                if (col.ColumnAction != null)
                {
                    gridSettings.Columns.Add(col.ColumnAction);
                    var lcol = gridSettings.Columns[col.Name] as MVCxGridViewColumn;
                    lcol.Hide(!col.IsVisible);

                    continue;
                }

                MVCxGridViewColumn gcol = gridSettings.Columns.Add(col.Name, col.DisplayName, col.ColumnType);
                gcol.Set(col);
            }
            #endregion

            #region Configure Callback Route
            if (gridData.CallBackRoute != null)
            {
                gridSettings.CallbackRouteValues = gridData.CallBackRoute;
            }
            #endregion

            #region Configure Buttons
            foreach (var btn in gridData.Buttons)
            {
                gridSettings.AddButton(btn.Type, btn.Display);
            }
            #endregion



            if (gridData.ButtonOptions != null)
            {
                gridSettings.CommandColumn.Visible = gridData.ButtonOptions.Show;
                gridSettings.CommandColumn.ShowNewButtonInHeader = gridData.ButtonOptions.DisplayAddButtonInGridHeader;
                gridSettings.CommandColumn.ShowNewButton         = gridData.ButtonOptions.DisplayAddButton;
                gridSettings.CommandColumn.ShowCancelButton      = gridData.ButtonOptions.DisplayCancelButton;
                gridSettings.CommandColumn.ShowEditButton        = gridData.ButtonOptions.DisplayEditButton;
                gridSettings.CommandColumn.ShowUpdateButton      = gridData.ButtonOptions.DisplayUpdateButton;
                gridSettings.CommandColumn.ShowDeleteButton      = gridData.ButtonOptions.DisplayDeleteButton;
                gridSettings.CommandColumn.Width = Unit.Percentage(gridData.ButtonOptions.Width);
            }


            gridSettings.CommandColumn.Width   = 70;
            gridSettings.CommandColumn.Caption = " ";



            #region Configure Routes
            foreach (var route in gridData.Routes)
            {
                gridSettings.AddRoutes(route.Type, route.Route);
            }
            #endregion

            #region Configure Layout

            gridSettings.BuildEditLayout(gridData.FormLayout);
            #endregion

            gridSettings.SettingsBehavior.ConfirmDelete = true;

            gridSettings.SettingPaging(gridData);

            if (gridData.RowInitializeEvent != null)
            {
                gridSettings.InitNewRow = gridData.RowInitializeEvent;
            }

            if (gridData.RowEditEvent != null)
            {
                gridSettings.CellEditorInitialize = gridData.RowEditEvent;
            }

            //settings.SetupGlobalGridViewBehavior();
        }
Ejemplo n.º 15
0
        public static void Set(this MVCxGridViewColumn gcol, GridDisplayColumn columnInfo)
        {
            gcol.SetProperties(columnInfo);


            //Default Value will be used as EmptyLayoutItem
            switch (columnInfo.ColumnType)
            {
            case MVCxGridViewColumnType.TimeEdit:
                if (columnInfo.Width.HasValue)
                {
                    gcol.Width = (!columnInfo.IsWidthAndHeightInPercentage) ? columnInfo.Width.Value : Unit.Percentage(columnInfo.Width.Value);
                }

                gcol.EditorProperties().TimeEdit(s =>
                {
                    s.EditFormat = EditFormat.Custom;
                    if (!string.IsNullOrEmpty(columnInfo.DisplayFormat))
                    {
                        s.EditFormatString    = columnInfo.DisplayFormat;
                        s.DisplayFormatString = columnInfo.DisplayFormat;
                    }
                    s.ValidationSettings.ErrorDisplayMode = ErrorDisplayMode.ImageWithTooltip;
                    s.ValidationSettings.Display          = Display.Dynamic;
                    s.ValidationSettings.SetFocusOnError  = true;
                    s.NullDisplayText = "";
                    //s.Height = (!columnInfo.IsWidthAndHeightInPercentage) ? columnInfo.EditLayoutHeight : Unit.Percentage(columnInfo.EditLayoutHeight);
                    if (columnInfo.EditLayoutWidth.HasValue)
                    {
                        s.Width = (!columnInfo.IsWidthAndHeightInPercentage) ? columnInfo.EditLayoutWidth.Value : Unit.Percentage(columnInfo.EditLayoutWidth.Value);
                    }
                });
                break;

            case MVCxGridViewColumnType.DateEdit:
                if (columnInfo.Width.HasValue)
                {
                    gcol.Width = (!columnInfo.IsWidthAndHeightInPercentage) ? columnInfo.Width.Value : Unit.Percentage(columnInfo.Width.Value);
                }

                gcol.EditorProperties().DateEdit(s =>
                {
                    s.ValidationSettings.ErrorDisplayMode = columnInfo.ErrorDisplayMode;
                    if (string.IsNullOrEmpty(columnInfo.DisplayFormat))
                    {
                        columnInfo.DisplayFormat = DefaultDateMask;
                    }

                    if (!string.IsNullOrEmpty(columnInfo.DisplayFormat))
                    {
                        var editFormatString    = UtilitySystem.Settings.ConfigSettings["DateFormat"];
                        var displayFormatString = UtilitySystem.Settings.ConfigSettings["DateFormat"];



                        if (columnInfo.DisplayFormat.ToLower().Contains("hh") || columnInfo.DisplayFormat.ToLower().Equals("f") ||
                            columnInfo.DisplayFormat.ToLower().Equals("r") || columnInfo.DisplayFormat.ToLower().Equals("s") ||
                            columnInfo.DisplayFormat.ToLower().Equals("u"))
                        {
                            editFormatString    = UtilitySystem.Settings.ConfigSettings["DateTimeFormat"];
                            displayFormatString = UtilitySystem.Settings.ConfigSettings["DateTimeFormat"];
                        }

                        s.EditFormatString    = editFormatString;
                        s.DisplayFormatString = displayFormatString;
                        s.EditFormat          = EditFormat.Custom;
                        s.TimeSectionProperties.ShowSecondHand = false;
                        s.TimeSectionProperties.Visible        = true;
                    }

                    s.ValidationSettings.Display         = Display.Dynamic;
                    s.ValidationSettings.SetFocusOnError = true;
                    s.NullDisplayText = "";
                    //s.Height = (!columnInfo.IsWidthAndHeightInPercentage) ? columnInfo.EditLayoutHeight : Unit.Percentage(columnInfo.EditLayoutHeight);
                    if (columnInfo.EditLayoutWidth.HasValue)
                    {
                        s.Width = (!columnInfo.IsWidthAndHeightInPercentage) ? columnInfo.EditLayoutWidth.Value : Unit.Percentage(columnInfo.EditLayoutWidth.Value);
                    }
                });
                break;

            case MVCxGridViewColumnType.SpinEdit:
                if (columnInfo.Width.HasValue)
                {
                    gcol.Width = (!columnInfo.IsWidthAndHeightInPercentage) ? columnInfo.Width.Value : Unit.Percentage(columnInfo.Width.Value);
                }


                gcol.EditorProperties().SpinEdit(s =>
                {
                    if (columnInfo.EditorProperties != null)
                    {
                        try
                        {
                            s.NumberType = columnInfo.EditorProperties.NumberType;
                        }
                        catch (System.Exception)
                        {
                            ;
                        }
                    }
                    s.MinValue = 0;
                    s.MaxValue = Int32.MaxValue;
                    s.ValidationSettings.ErrorDisplayMode = columnInfo.ErrorDisplayMode;
                    s.ValidationSettings.Display          = Display.Dynamic;
                    s.ValidationSettings.SetFocusOnError  = true;
                    //s.Height = (!columnInfo.IsWidthAndHeightInPercentage) ? columnInfo.EditLayoutHeight : Unit.Percentage(columnInfo.EditLayoutHeight);
                    if (columnInfo.EditLayoutWidth.HasValue)
                    {
                        s.Width = (!columnInfo.IsWidthAndHeightInPercentage) ? columnInfo.EditLayoutWidth.Value : Unit.Percentage(columnInfo.EditLayoutWidth.Value);
                    }
                });
                break;

            case MVCxGridViewColumnType.CheckBox:
                if (columnInfo.Width.HasValue)
                {
                    gcol.Width = (!columnInfo.IsWidthAndHeightInPercentage) ? columnInfo.Width.Value : Unit.Percentage(columnInfo.Width.Value);
                }
                gcol.EditorProperties().CheckBox(s =>
                {
                    s.ValidationSettings.ErrorDisplayMode         = ErrorDisplayMode.ImageWithTooltip;
                    s.ValidationSettings.Display                  = Display.Dynamic;
                    s.ValidationSettings.SetFocusOnError          = true;
                    s.ValidationSettings.RequiredField.IsRequired = false;
                });
                break;

            case MVCxGridViewColumnType.BinaryImage:
                if (columnInfo.Width.HasValue)
                {
                    gcol.Width = (!columnInfo.IsWidthAndHeightInPercentage) ? columnInfo.Width.Value : Unit.Percentage(columnInfo.Width.Value);
                }

                gcol.EditorProperties().BinaryImage(p =>
                {
                    if (columnInfo.EditLayoutHeight.HasValue)
                    {
                        p.ImageHeight = (!columnInfo.IsWidthAndHeightInPercentage) ? columnInfo.EditLayoutHeight.Value : Unit.Percentage(columnInfo.EditLayoutHeight.Value);
                    }

                    if (columnInfo.EditLayoutWidth.HasValue)
                    {
                        p.ImageWidth = (!columnInfo.IsWidthAndHeightInPercentage) ? columnInfo.EditLayoutWidth.Value : Unit.Percentage(columnInfo.EditLayoutWidth.Value);
                    }
                    p.EnableServerResize      = true;
                    p.ImageSizeMode           = ImageSizeMode.FitProportional;
                    p.CallbackRouteValues     = columnInfo.CallBackRoute;
                    p.EditingSettings.Enabled = true;
                    p.EditingSettings.UploadSettings.UploadValidationSettings.MaxFileSize = 4194304;
                });
                break;

            case MVCxGridViewColumnType.ComboBox:
                if (columnInfo.Lookup != null && !columnInfo.IsGridLookup)
                {
                    if (columnInfo.Width.HasValue)
                    {
                        gcol.Width = (!columnInfo.IsWidthAndHeightInPercentage) ? columnInfo.Width.Value : Unit.Percentage(columnInfo.Width.Value);
                    }

                    gcol.EditorProperties().ComboBox(cb =>
                    {
                        cb.ValidationSettings.ErrorDisplayMode = ErrorDisplayMode.ImageWithTooltip;
                        cb.ValidationSettings.Display          = Display.Dynamic;
                        cb.ValidationSettings.SetFocusOnError  = true;
                        cb.Width         = Unit.Percentage(100);
                        cb.NullText      = columnInfo.Lookup.NullCaption;
                        cb.TextField     = columnInfo.Lookup.DisplayColumnName;
                        cb.ValueField    = columnInfo.Lookup.KeyColumnName;
                        cb.DropDownStyle = columnInfo.Lookup.Style;
                        cb.DataSource    = columnInfo.Lookup.DataSource;
                        if (columnInfo.Lookup.CallbackRouteValues != null)
                        {
                            cb.CallbackRouteValues = columnInfo.Lookup.CallbackRouteValues;
                        }
                        if (!string.IsNullOrEmpty(columnInfo.Lookup.BeginCallBackEvent))
                        {
                            cb.ClientSideEvents.BeginCallback = columnInfo.Lookup.BeginCallBackEvent;
                        }
                        if (!string.IsNullOrEmpty(columnInfo.Lookup.SelectedIndexChangedEvent))
                        {
                            cb.ClientSideEvents.SelectedIndexChanged = columnInfo.Lookup.SelectedIndexChangedEvent;
                        }

                        //cb.Height = (!columnInfo.IsWidthAndHeightInPercentage) ? columnInfo.EditLayoutHeight : Unit.Percentage(columnInfo.EditLayoutHeight);
                        if (columnInfo.EditLayoutWidth.HasValue)
                        {
                            cb.Width = (!columnInfo.IsWidthAndHeightInPercentage) ? columnInfo.EditLayoutWidth.Value : Unit.Percentage(columnInfo.EditLayoutWidth.Value);
                        }
                    });
                }
                else     //gridView Lookup
                {
                }
                break;

            case MVCxGridViewColumnType.TextBox:
                if (columnInfo.Width.HasValue)
                {
                    gcol.Width = (!columnInfo.IsWidthAndHeightInPercentage) ? columnInfo.Width.Value : Unit.Percentage(columnInfo.Width.Value);
                }

                gcol.EditorProperties().TextBox(s =>
                {
                    s.EncodeHtml = columnInfo.EncodeHtml;
                    s.ValidationSettings.ErrorDisplayMode = columnInfo.ErrorDisplayMode;
                    s.ValidationSettings.Display          = Display.Dynamic;
                    s.ValidationSettings.SetFocusOnError  = true;
                    //s.Height = (!columnInfo.IsWidthAndHeightInPercentage) ? columnInfo.EditLayoutHeight : Unit.Percentage(columnInfo.EditLayoutHeight);
                    if (columnInfo.EditLayoutWidth.HasValue)
                    {
                        s.Width = (!columnInfo.IsWidthAndHeightInPercentage) ? columnInfo.EditLayoutWidth.Value : Unit.Percentage(columnInfo.EditLayoutWidth.Value);
                    }

                    if (columnInfo.DisplayFormat != null && columnInfo.DisplayFormat.Length > 0)
                    {
                        s.MaskSettings.Mask            = columnInfo.DisplayFormat;
                        s.MaskSettings.IncludeLiterals = MaskIncludeLiteralsMode.None;
                        s.DisplayFormatString          = columnInfo.DisplayFormat;
                    }
                });
                break;

            case MVCxGridViewColumnType.Memo:
                if (columnInfo.Width.HasValue)
                {
                    gcol.Width = (!columnInfo.IsWidthAndHeightInPercentage) ? columnInfo.Width.Value : Unit.Percentage(columnInfo.Width.Value);
                }
                gcol.EditorProperties().Memo(s =>
                {
                    s.EncodeHtml = columnInfo.EncodeHtml;
                    s.ValidationSettings.ErrorDisplayMode = columnInfo.ErrorDisplayMode;
                    s.ValidationSettings.Display          = Display.Dynamic;
                    s.ValidationSettings.SetFocusOnError  = true;
                    if (columnInfo.EditLayoutWidth.HasValue)
                    {
                        s.Width = (!columnInfo.IsWidthAndHeightInPercentage) ? columnInfo.EditLayoutWidth.Value : Unit.Percentage(columnInfo.EditLayoutWidth.Value);
                    }
                    if (columnInfo.EditLayoutHeight.HasValue)
                    {
                        s.Height = (!columnInfo.IsWidthAndHeightInPercentage) ? columnInfo.EditLayoutHeight.Value : Unit.Percentage(columnInfo.EditLayoutHeight.Value);
                    }
                });
                break;
            }

            if (!columnInfo.IsVisible)
            {
                gcol.Width = 0;
            }
        }
Ejemplo n.º 16
0
        public static GridViewSettings <TModel> GetGridViewReportSetting <TModel>(ECOM.Models.GridViewConfig gridConfig, bool IsExportData = true)
        {
            var gridViewSettings = new GridViewSettings <TModel>();

            gridViewSettings.Name                    = gridConfig.GridViewName;
            gridViewSettings.KeyFieldName            = gridConfig.KeyFieldName;
            gridViewSettings.SettingsPager.PageSize  = gridConfig.PageSize;
            gridViewSettings.CallbackRouteValues     = gridConfig.CallbackRouteValues;
            gridViewSettings.CustomActionRouteValues = gridConfig.CustomActionRouteValues;

            gridViewSettings.SettingsPager.Position = System.Web.UI.WebControls.PagerPosition.TopAndBottom;
            gridViewSettings.SettingsPager.FirstPageButton.Visible      = true;
            gridViewSettings.SettingsPager.LastPageButton.Visible       = true;
            gridViewSettings.SettingsPager.PageSizeItemSettings.Visible = true;
            gridViewSettings.Width  = System.Web.UI.WebControls.Unit.Percentage(100);
            gridViewSettings.Height = System.Web.UI.WebControls.Unit.Percentage(100);
            gridViewSettings.SettingsBehavior.ColumnResizeMode   = ColumnResizeMode.Control;
            gridViewSettings.CommandColumn.ShowClearFilterButton = true;
            gridViewSettings.Settings.ShowFilterRow     = true;
            gridViewSettings.Settings.ShowFilterRowMenu = true;

            gridViewSettings.SettingsPager.PageSizeItemSettings.Items = new string[] { "10", "25", "50", "100" };

            gridViewSettings.SettingsBehavior.AllowFocusedRow = true; //Selected Row

            gridViewSettings.Settings.HorizontalScrollBarMode = ScrollBarMode.Visible;

            gridViewSettings.ControlStyle.CssClass = "grid-view-custom";

            //Menu Context Setting
            gridViewSettings.SettingsContextMenu.Enabled = true;
            gridViewSettings.SettingsBehavior.EnableCustomizationWindow        = true;
            gridViewSettings.SettingsContextMenu.EnableRowMenu                 = DefaultBoolean.False;
            gridViewSettings.SettingsContextMenu.EnableFooterMenu              = DefaultBoolean.False;
            gridViewSettings.SettingsContextMenu.EnableGroupPanelMenu          = DefaultBoolean.False;
            gridViewSettings.SettingsPopup.CustomizationWindow.HorizontalAlign = PopupHorizontalAlign.LeftSides;
            gridViewSettings.SettingsPopup.CustomizationWindow.VerticalAlign   = PopupVerticalAlign.Below;

            gridViewSettings.ContextMenuItemVisibility = (sender, e) =>
            {
                //    Custom menu context Item
                if (e.MenuType == GridViewContextMenuType.Columns)
                {
                    foreach (var item in e.Items)
                    {
                        GridViewContextMenuItem menuItemDelete = item as GridViewContextMenuItem;
                        if (menuItemDelete.Name == "GroupByColumn" ||
                            menuItemDelete.Name == "ShowGroupPanel" ||
                            menuItemDelete.Name == "ShowSearchPanel" ||
                            menuItemDelete.Name == "ShowFilterRow" ||
                            menuItemDelete.Name == "ShowFilterRowMenu" ||
                            menuItemDelete.Name == "ShowFooter"
                            )
                        {
                            e.SetVisible(menuItemDelete, false);
                        }
                    }
                }
            };
            gridViewSettings.SettingsBehavior.EnableCustomizationWindow = true;
            gridViewSettings.CustomJSProperties = (sender, e) =>
            {
                string       separator  = ",";
                string       fieldNames = string.Empty;
                MVCxGridView grid       = (MVCxGridView)sender;

                foreach (DevExpress.Web.GridViewColumn column in grid.VisibleColumns)
                {
                    if (column is GridViewDataColumn)
                    {
                        GridViewDataColumn dataColumn = (GridViewDataColumn)column;
                        if (!string.IsNullOrEmpty(dataColumn.FieldName) && dataColumn.Visible)
                        {
                            fieldNames += dataColumn.FieldName + ",";
                        }
                    }
                }
                fieldNames = fieldNames.TrimEnd(separator.ToCharArray());
                e.Properties["cpFieldNames"] = fieldNames;
            };

            //End menu context setting

            if (IsExportData == false)
            {
                gridViewSettings.Columns.Add(c =>
                {
                    c.UnboundType = DevExpress.Data.UnboundColumnType.String;
                    c.Caption     = ECOM.Resources.ECOMResource.Number;
                    c.Settings.AllowAutoFilter = DefaultBoolean.False;
                    c.Settings.AllowDragDrop   = DefaultBoolean.False;
                    c.Settings.AllowSort       = DefaultBoolean.False;
                    c.Width = 30;
                });

                gridViewSettings.CustomColumnDisplayText = (s, e) =>
                {
                    if (e.Column.Caption == ECOM.Resources.ECOMResource.Number)
                    {
                        e.DisplayText = (e.VisibleRowIndex + 1).ToString();
                    }
                };
            }
            foreach (var item in gridConfig.Columns.Where(x => x.Enable == true))
            {
                MVCxGridViewColumn column = gridViewSettings.Columns.Add();
                column.FieldName = item.ColumnName;
                column.Caption   = item.DisplayText;
                //column.Visible = item.Enable;
                column.Visible = true;
                if (item.ColumnType == "System.DateTime" || item.ColumnType == "System.Date" || item.ColumnType.Contains("System.DateTime"))
                {
                    if (!string.IsNullOrEmpty(item.ColumnFormat))
                    {
                        column.PropertiesEdit.DisplayFormatString = item.ColumnFormat;
                    }
                    else
                    {
                        //Default is DateTime format
                        column.PropertiesEdit.DisplayFormatString = ECOM.Resources.ECOMResource.ResourceManager.GetString("DefaultDateFormat");
                    }
                }
                if (item.ColumnType == "System.Decimal")
                {
                    column.PropertiesEdit.DisplayFormatString = "N2";
                }
            }
            return(gridViewSettings);
        }
Ejemplo n.º 17
0
        public static void Configure(this GridLookupSettings settings, GridLookup gridLkp, HtmlHelper html, ViewContext viewContext, params string[] arguments)
        {
            settings.Width  = Unit.Percentage(100);
            settings.Height = Unit.Percentage(100);

            settings.GridViewStyles.Header.Wrap = DefaultBoolean.True;

            settings.GridViewProperties.Settings.HorizontalScrollBarMode = ScrollBarMode.Auto;
            settings.GridViewProperties.Settings.VerticalScrollBarMode   = ScrollBarMode.Auto;

            //settings.GridViewProperties.SettingsExport.EnableClientSideExportAPI = true;
            //settings.SettingsExport.ExcelExportMode = DevExpress.Export.ExportType.DataAware;

            settings.GridViewProperties.Settings.ShowTitlePanel = true;
            //settings.GridViewProperties.Ti = gridData.Title;

            settings.GridViewStyles.AlternatingRow.BackColor = gridLkp.Data.AlternateRowColor;


            settings.Name         = gridLkp.Name;
            settings.KeyFieldName = gridLkp.KeyColumnName;

            #region Configure Toolbars


            if (gridLkp.Data.ToolBarOptions.Show)
            {
                settings.AddToolBar(html, viewContext, gridLkp.Data.ToolbarItems, gridLkp.Data.ToolBarOptions);
            }
            #endregion

            #region Configure Columns
            foreach (var col in gridLkp.Data.DisplayColumns)
            {
                if (col.ColumnAction != null)
                {
                    settings.Columns.Add(col.ColumnAction);
                    var lcol = settings.Columns[col.Name] as MVCxGridViewColumn;

                    if (!string.IsNullOrEmpty(col.DisplayName))
                    {
                        lcol.Caption = col.DisplayName;
                    }

                    lcol.SetProperties(col);

                    continue;
                }

                MVCxGridViewColumn gcol = settings.Columns.Add(col.Name, col.DisplayName, col.ColumnType);
                gcol.Set(col);
            }
            #endregion

            #region Configure Callback Route
            if (gridLkp.Data.CallBackRoute != null)
            {
                settings.GridViewProperties.CallbackRouteValues = gridLkp.Data.CallBackRoute;
            }
            #endregion

            //#region Configure Buttons
            //foreach (var btn in gridData.Buttons)
            //{
            //    settings.AddButton(btn.Type, btn.Display);
            //}
            //#endregion

            if (gridLkp.Data.ButtonOptions != null)
            {
                settings.CommandColumn.Visible = gridLkp.Data.ButtonOptions.Show;
                settings.CommandColumn.ShowNewButtonInHeader = gridLkp.Data.ButtonOptions.DisplayAddButtonInGridHeader;
                settings.CommandColumn.ShowNewButton         = gridLkp.Data.ButtonOptions.DisplayAddButton;
                settings.CommandColumn.ShowCancelButton      = gridLkp.Data.ButtonOptions.DisplayCancelButton;
                settings.CommandColumn.ShowEditButton        = gridLkp.Data.ButtonOptions.DisplayEditButton;
                settings.CommandColumn.ShowUpdateButton      = gridLkp.Data.ButtonOptions.DisplayUpdateButton;
                settings.CommandColumn.ShowDeleteButton      = gridLkp.Data.ButtonOptions.DisplayDeleteButton;
                settings.CommandColumn.Width = Unit.Percentage(gridLkp.Data.ButtonOptions.Width);
            }
        }