Exemplo n.º 1
0
        internal static void AddGridColumn(ref Grid grid, ref IDesignerHost designerhost,
                                           ref IComponentChangeService componentChangeService,
                                           ref DesignerTransaction dt, ColumnTemplates template)
        {
            if (template == ColumnTemplates.None)
            {
                return;
            }
            dt = designerhost.CreateTransaction(string.Format("Configure WebGrid as {0}", template));

            switch (template)
            {
            case ColumnTemplates.SelectRowColumn:
            {
                SystemColumn systemcolumn = (SystemColumn)designerhost.CreateComponent(typeof(SystemColumn));
                systemcolumn.ColumnId         = "SelectColumn";
                systemcolumn.Grid             = grid;
                systemcolumn.Title            = string.Empty;
                systemcolumn.Visibility       = Visibility.Grid;
                systemcolumn.SystemColumnType = Enums.SystemColumn.SelectColumn;
                systemcolumn.DisplayIndex     = 5;
                grid.Columns.Add(systemcolumn);
            }
            break;

            case ColumnTemplates.EditRowColumn:
            {
                SystemColumn systemcolumn = (SystemColumn)designerhost.CreateComponent(typeof(SystemColumn));
                systemcolumn.ColumnId         = "EditColumn";
                systemcolumn.Grid             = grid;
                systemcolumn.Html             = "Edit row";
                systemcolumn.Title            = string.Empty;
                systemcolumn.Visibility       = Visibility.Grid;
                systemcolumn.SystemColumnType = Enums.SystemColumn.EditColumn;
                systemcolumn.DisplayIndex     = 7;
                grid.Columns.Add(systemcolumn);
            }
            break;

            case ColumnTemplates.CopyRowColumnn:
            {
                SystemColumn systemcolumn = (SystemColumn)designerhost.CreateComponent(typeof(SystemColumn));
                systemcolumn.ColumnId         = "CopyColumn";
                systemcolumn.Grid             = grid;
                systemcolumn.Html             = "Copy row";
                systemcolumn.Title            = string.Empty;
                systemcolumn.Visibility       = Visibility.Grid;
                systemcolumn.SystemColumnType = Enums.SystemColumn.CopyColumn;
                systemcolumn.DisplayIndex     = 2;
                grid.Columns.Add(systemcolumn);
            }
            break;

            case ColumnTemplates.UpdateGridRecordColumn:
            {
                SystemColumn systemcolumn = (SystemColumn)designerhost.CreateComponent(typeof(SystemColumn));
                systemcolumn.ColumnId         = "UpdateRecord";
                systemcolumn.Grid             = grid;
                systemcolumn.Html             = "Update record";
                systemcolumn.Title            = string.Empty;
                systemcolumn.Visibility       = Visibility.Grid;
                systemcolumn.SystemColumnType = Enums.SystemColumn.UpdateGridRecordColumn;
                systemcolumn.DisplayIndex     = 9;
                grid.Columns.Add(systemcolumn);
            }
            break;

            case ColumnTemplates.UpdateGridRecordsColumn:
            {
                SystemColumn systemcolumn = (SystemColumn)designerhost.CreateComponent(typeof(SystemColumn));
                systemcolumn.ColumnId         = "UpdateRecords";
                systemcolumn.Grid             = grid;
                systemcolumn.Html             = "Update all";
                systemcolumn.Title            = string.Empty;
                systemcolumn.Visibility       = Visibility.Grid;
                systemcolumn.SystemColumnType = Enums.SystemColumn.UpdateGridRecordsColumn;
                systemcolumn.DisplayIndex     = 9;
                grid.Columns.Add(systemcolumn);
            }
            break;

            case ColumnTemplates.DeleteRowColumn:
            {
                SystemColumn systemcolumn = (SystemColumn)designerhost.CreateComponent(typeof(SystemColumn));
                systemcolumn.ColumnId         = "DeleteRow";
                systemcolumn.Html             = "Delete row";
                systemcolumn.Grid             = grid;
                systemcolumn.Title            = string.Empty;
                systemcolumn.Visibility       = Visibility.Grid;
                systemcolumn.SystemColumnType = Enums.SystemColumn.DeleteColumn;
                grid.Columns.Add(systemcolumn);
            }
            break;

            case ColumnTemplates.HtmlEditorColumn:
            {
                Text htmlColumn = (Text)designerhost.CreateComponent(typeof(Text));
                htmlColumn.ColumnId             = "HtmlColumn";
                htmlColumn.Title                = "Html column";
                htmlColumn.Grid                 = grid;
                htmlColumn.IsHtml               = true;
                htmlColumn.WidthEditableColumn  = Unit.Percentage(90);
                htmlColumn.HeightEditableColumn = Unit.Pixel(300);
                htmlColumn.Visibility           = Visibility.Detail;
                htmlColumn.Required             = true;
                grid.Columns.Add(htmlColumn);
            }
            break;

            case ColumnTemplates.EmailValidColumn:
            {
                Text emailcolumn = (Text)designerhost.CreateComponent(typeof(Text));
                emailcolumn.ColumnId     = "Emailcolumn";
                emailcolumn.Title        = "E-mail address";
                emailcolumn.Grid         = grid;
                emailcolumn.Visibility   = Visibility.Both;
                emailcolumn.DisplayIndex = grid.Columns.Count * 10;
                emailcolumn.Required     = true;
                grid.Columns.Add(emailcolumn);
            }
            break;
            }
            WebGridDesignTime.SaveGridState(dt, grid, componentChangeService);
        }
Exemplo n.º 2
0
 internal WebGridDesignerActionList(WebGridDesignTime parent)
     : base(parent.Component)
 {
     m_Parent = parent;
 }
Exemplo n.º 3
0
        internal static void ConfigureGrid(ref Grid grid, ref IDesignerHost designerhost,
                                           ref IComponentChangeService componentChangeService,
                                           ref DesignerTransaction dt, GridTemplate template)
        {
            if (template == GridTemplate.None)
            {
                return;
            }

            switch (template)
            {
            case GridTemplate.ProductCatalog:
            {
                dt = designerhost.CreateTransaction(string.Format("Configure WebGrid as {0}", template));

                grid.RecordsPerRow     = 3;
                grid.Width             = Unit.Percentage(100);
                grid.Title             = "Product catalog";
                grid.DefaultVisibility = Visibility.None;
                grid.DisplayView       = DisplayView.Grid;
                grid.Columns.Clear();

                Text producttitle = (Text)designerhost.CreateComponent(typeof(Text));
                producttitle.ColumnId     = "productTitle";
                producttitle.Grid         = grid;
                producttitle.Title        = "Title";
                producttitle.Visibility   = Visibility.Both;
                producttitle.DisplayIndex = 10;

                grid.Columns.Add(producttitle);

                File productImageGrid = (File)designerhost.CreateComponent(typeof(File));
                productImageGrid.ColumnId        = "productImageGrid";
                productImageGrid.Grid            = grid;
                productImageGrid.Title           = "Grid image";
                productImageGrid.HideDetailTitle = true;
                productImageGrid.NewRowInGrid    = true;
                productImageGrid.Visibility      = Visibility.Grid;
                productImageGrid.DisplayIndex    = 20;

                grid.Columns.Add(productImageGrid);

                File productImageEdit = (File)designerhost.CreateComponent(typeof(File));
                productImageEdit.ColumnId        = "productImageEdit";
                productImageEdit.Title           = "Edit image";
                productImageEdit.Grid            = grid;
                productImageEdit.HideDetailTitle = true;
                productImageEdit.NewRowInGrid    = true;
                productImageEdit.Visibility      = Visibility.Detail;
                productImageEdit.DisplayIndex    = 20;

                grid.Columns.Add(productImageEdit);

                Text productGridDescription = (Text)designerhost.CreateComponent(typeof(Text));
                productGridDescription.ColumnId        = "productGridDescription";
                productGridDescription.Title           = "Grid description";
                productGridDescription.Grid            = grid;
                productGridDescription.HideDetailTitle = true;
                productGridDescription.Visibility      = Visibility.Grid;
                productGridDescription.IsHtml          = true;
                productGridDescription.DisplayIndex    = 30;

                grid.Columns.Add(productGridDescription);

                Text productEditDescription = (Text)designerhost.CreateComponent(typeof(Text));
                productEditDescription.ColumnId        = "productGridDescription";
                productEditDescription.Grid            = grid;
                productEditDescription.Title           = "Edit description";
                productEditDescription.HideDetailTitle = true;
                productEditDescription.IsHtml          = true;
                productEditDescription.Visibility      = Visibility.Detail;
                productEditDescription.DisplayIndex    = 30;

                grid.Columns.Add(productEditDescription);

                WebGridDesignTime.SaveGridState(dt, grid, componentChangeService);
                return;
            }

            case GridTemplate.UserRegistration:
            {
                grid.Width             = Unit.Pixel(500);
                grid.Title             = "User login";
                grid.DefaultVisibility = Visibility.None;
                grid.DisplayView       = DisplayView.Detail;
                grid.AllowCancel       = false;
                grid.AllowUpdate       = true;
                grid.RecordsPerRow     = 1;

                grid.Columns.Clear();

                Text userloginID = (Text)designerhost.CreateComponent(typeof(Text));
                userloginID.ColumnId        = "LoginID";
                userloginID.Title           = "Login ID";
                userloginID.Grid            = grid;
                userloginID.HideDetailTitle = true;
                userloginID.Visibility      = Visibility.Detail;
                userloginID.DisplayIndex    = 10;
                userloginID.Required        = true;
                grid.Columns.Add(userloginID);

                Text userpassword = (Text)designerhost.CreateComponent(typeof(Text));
                userpassword.ColumnId        = "LoginPassword";
                userpassword.Title           = "Login password";
                userpassword.Grid            = grid;
                userpassword.IsPassword      = true;
                userpassword.Visibility      = Visibility.Detail;
                userpassword.DisplayIndex    = 20;
                userpassword.ValidExpression = "[RepeatPassword] != [LoginPassword]";
                userpassword.Required        = true;
                userpassword.MinSize         = 5;
                userpassword.MaxSize         = 15;
                userpassword.SystemMessage   = "Your passwords did not match.";

                grid.Columns.Add(userpassword);

                Text repeatuserpassword = (Text)designerhost.CreateComponent(typeof(Text));
                repeatuserpassword.ColumnId       = "RepeatPassword";
                repeatuserpassword.Title          = "Repeat password";
                repeatuserpassword.NewRowInDetail = false;
                repeatuserpassword.Grid           = grid;
                repeatuserpassword.IsPassword     = true;
                repeatuserpassword.Visibility     = Visibility.Detail;
                repeatuserpassword.DisplayIndex   = 30;
                repeatuserpassword.MinSize        = 5;
                repeatuserpassword.MaxSize        = 15;
                repeatuserpassword.Required       = true;

                grid.Columns.Add(repeatuserpassword);

                WebGridDesignTime.SaveGridState(dt, grid, componentChangeService);
                return;
            }

            case GridTemplate.RowSummary:
            {
                grid.Width             = Unit.Percentage(100);
                grid.Title             = "Row summary";
                grid.DefaultVisibility = Visibility.None;
                grid.RecordsPerRow     = 1;
                grid.DisplayView       = DisplayView.Grid;

                grid.Columns.Clear();

                Decimal productprice = (Decimal)designerhost.CreateComponent(typeof(Decimal));
                productprice.ColumnId     = "Price";
                productprice.Title        = "Price";
                productprice.Grid         = grid;
                productprice.Visibility   = Visibility.Both;
                productprice.DisplayIndex = 10;

                grid.Columns.Add(productprice);

                Number productQuantity = (Number)designerhost.CreateComponent(typeof(Number));
                productQuantity.ColumnId     = "Quantity";
                productQuantity.Title        = "Quantity";
                productQuantity.Grid         = grid;
                productQuantity.Visibility   = Visibility.Both;
                productQuantity.DisplayIndex = 20;

                grid.Columns.Add(productQuantity);

                Decimal productSubSum = (Decimal)designerhost.CreateComponent(typeof(Decimal));
                productSubSum.ColumnId            = "Total";
                productSubSum.Title               = "Sub total";
                productSubSum.Grid                = grid;
                productSubSum.Visibility          = Visibility.Grid;
                productSubSum.DisplayIndex        = 30;
                productSubSum.DisplayTotalSummary = true;
                productSubSum.Sum = "[Quantity]*[Price]";
                grid.Columns.Add(productSubSum);

                WebGridDesignTime.SaveGridState(dt, grid, componentChangeService);
                return;
            }

            case GridTemplate.DocumentDatabase:
            {
                grid.Width             = Unit.Percentage(100);
                grid.Title             = "Document database";
                grid.DefaultVisibility = Visibility.None;
                grid.RecordsPerRow     = 1;
                grid.DisplayView       = DisplayView.Grid;

                grid.Columns.Clear();

                Text documenttitle = (Text)designerhost.CreateComponent(typeof(Text));
                documenttitle.ColumnId     = "TitleDocument";
                documenttitle.Title        = "Title";
                documenttitle.Grid         = grid;
                documenttitle.Visibility   = Visibility.Both;
                documenttitle.DisplayIndex = 10;
                documenttitle.Required     = true;

                grid.Columns.Add(documenttitle);

                Text htmldocument = (Text)designerhost.CreateComponent(typeof(Text));
                htmldocument.ColumnId             = "htmlDocument";
                htmldocument.Title                = "Document";
                htmldocument.Grid                 = grid;
                htmldocument.IsHtml               = true;
                htmldocument.WidthEditableColumn  = Unit.Percentage(90);
                htmldocument.HeightEditableColumn = Unit.Pixel(300);
                htmldocument.Visibility           = Visibility.Detail;
                htmldocument.DisplayIndex         = 20;
                htmldocument.Required             = true;

                grid.Columns.Add(htmldocument);

                File fileattachment = (File)designerhost.CreateComponent(typeof(File));
                fileattachment.ColumnId     = "FileAttachment";
                fileattachment.Title        = "File Attachment";
                fileattachment.Grid         = grid;
                fileattachment.Visibility   = Visibility.Both;
                fileattachment.DisplayIndex = 30;
                fileattachment.Required     = false;

                grid.Columns.Add(fileattachment);

                WebGridDesignTime.SaveGridState(dt, grid, componentChangeService);
                return;
            }
            }
        }