Exemple #1
0
        public override void AttachProperties(GridColumn gridColumn)
        {
            base.AttachProperties(gridColumn);

            GridTemplateColumn column = (GridTemplateColumn)gridColumn;

            column.HeaderText            = Caption;
            column.DataField             = DataFieldKey;
            column.CurrentFilterFunction = GridKnownFunction.EqualTo;

            DropDownListItemTemplate template = new DropDownListItemTemplate(DataFieldKey);

            column.ItemTemplate     = template;
            template.ListDataSource = ListDataSource;

            if (!IsReadOnly)
            {
                DropDownListEditItemTemplate editTemplate = new DropDownListEditItemTemplate(DataFieldKey, DataFieldKey);
                column.EditItemTemplate     = editTemplate;
                editTemplate.DropDownHeight = DropDownHeight;
            }

            DropDownListFilterTemplate filterTemplate = new DropDownListFilterTemplate(DataFieldKey);

            column.FilterTemplate         = filterTemplate;
            filterTemplate.ListDataSource = ListDataSource;
            filterTemplate.DropDownHeight = DropDownHeight;
        }
Exemple #2
0
        private void ConfigureOrganisationReferences()
        {
            // Add any custom organisation reference fields
            Facade.IOrganisation facOrganisation = new Facade.Organisation();
            var organisationReferences           = facOrganisation.GetAllOrganisationReferences().Tables[0].AsEnumerable();

            if (organisationReferences.Any())
            {
                var groupedReferences = organisationReferences.GroupBy(or => or.Field <string>("Description"));

                foreach (var gr in groupedReferences)
                {
                    var columnDescription = gr.Key;
                    var uniqueName        = OrganisationReferenceColumnUniqueName(columnDescription);

                    // Add a check box to allow the user to toggle visibility of this column
                    var listItem = new ListItem(columnDescription, uniqueName);
                    listItem.Attributes["title"] = gr.Count() > 10 ? string.Format("{0} clients", gr.Count()) : Entities.Utilities.MergeStrings("\n", gr.Select(or => or.Field <string>("OrganisationName")));
                    this.cblOrganisationReferenceColumns.Items.Add(listItem);

                    // Add the column to the grid
                    var column = new GridTemplateColumn();
                    this.grdOrders.MasterTableView.Columns.Add(column);
                    column.UniqueName = uniqueName;
                    column.HeaderText = columnDescription;
                    column.Visible    = false;
                }
            }
        }
Exemple #3
0
        public virtual GridTemplateColumnBuilder <TModel> Template(Func <TModel, object> template)
        {
            GridTemplateColumn <TModel> column = new GridTemplateColumn <TModel>(Container, template);

            Container.Columns.Add(column);

            return(new GridTemplateColumnBuilder <TModel>(column));
        }
 /// <summary>
 /// Applies the display data template.
 /// </summary>
 /// <param name="uiElement">Corresponding Renderer Element</param>
 /// <param name="templateColumn">GridColumn - Column which is providing the information for Binding </param>
 /// <param name="dataContext">The data context.</param>
 private void InitializeDisplayTemplate(ContentControl uiElement, GridTemplateColumn templateColumn,
                                        object dataContext)
 {
     if (templateColumn.DataGrid != null && templateColumn.DataGrid.CellTemplateSelector != null)
     {
         uiElement.ContentTemplateSelector = templateColumn.DataGrid.CellTemplateSelector;
     }
 }
Exemple #5
0
        /// <summary>
        /// Defines a template column.
        /// </summary>
        /// <param name="templateAction"></param>
        /// <returns></returns>
        public virtual GridTemplateColumnBuilder <TModel> Template(Action <TModel> templateAction)
        {
            GridTemplateColumn <TModel> column = new GridTemplateColumn <TModel>(Container, templateAction);

            Container.Columns.Add(column);

            return(new GridTemplateColumnBuilder <TModel>(column));
        }
    void GetGridStructure()
    {
        try
        {
            DataTable dt;
            dt = BLL.get_EmpLOB(-1);

            Rg_LOB.Columns.Clear();

            GridBoundColumn GCol = new GridBoundColumn();
            GCol.DataField  = "EMP_ID";
            GCol.HeaderText = "ID";
            GCol.UniqueName = "EMP_ID";
            GCol.Visible    = false;
            Rg_LOB.Columns.Add(GCol);


            GCol            = new GridBoundColumn();
            GCol.DataField  = "EMP_CODE";
            GCol.HeaderText = "Employee Code";
            GCol.UniqueName = "EMP_CODE";
            Rg_LOB.Columns.Add(GCol);

            GCol            = new GridBoundColumn();
            GCol.DataField  = "EMP_NAME";
            GCol.HeaderText = "Employee Name";
            GCol.UniqueName = "EMP_NAME";
            Rg_LOB.Columns.Add(GCol);

            GCol            = new GridBoundColumn();
            GCol.DataField  = "EMP_DOJ";
            GCol.HeaderText = "Date of Join";
            GCol.UniqueName = "EMP_DOJ";
            Rg_LOB.Columns.Add(GCol);


            GridTemplateColumn GtCol;


            for (int i = 4; i < dt.Columns.Count; i++)
            {
                GtCol = new GridTemplateColumn();
                GtCol.ItemStyle.HorizontalAlign = HorizontalAlign.Center;
                GtCol.UniqueName   = dt.Columns[i].ColumnName;
                GtCol.DataField    = dt.Columns[i].ColumnName;
                GtCol.ItemTemplate = new myNTemplate(dt.Columns[i].ColumnName, i.ToString());
                //GtCol.ItemTemplate = new myNTemplate(i.ToString(),i.);
                char[] splitchar = { '-' };
                GtCol.HeaderText = dt.Columns[i].ColumnName.Split(splitchar)[1];
                Rg_LOB.Columns.Add(GtCol);
            }
        }
        catch (Exception ex)
        {
            SMHR.BLL.Error_Log(Session["USER_ID"].ToString(), ex.TargetSite.ToString(), ex.Message.Replace("'", "''"), "frm_leaveopeningbalances", ex.StackTrace, DateTime.Now);
            Response.Redirect("~/Frm_ErrorPage.aspx");
        }
    }
Exemple #7
0
    protected void grdDataStatus_NeedDataSource(object source, GridNeedDataSourceEventArgs e)
    {
        try
        {
            if (ConnectionManager == null)
            {
                ConnectionManager = SessionManager.GetConnectionManager(this);
            }
            AnnualDataStatus dataStatus = new AnnualDataStatus(ConnectionManager);
            //Get the dataset
            SourceDS = dataStatus.GetAll(true);
            //Binds the grid


            foreach (DataColumn column in SourceDS.Tables[0].Columns)
            {
                if ((column.ColumnName == "IdCountry") || (column.ColumnName == "Country"))
                {
                    continue;
                }
                GridTemplateColumn templateColumn = new GridTemplateColumn();

                if (column.ColumnName == "IdImport")
                {
                    templateColumn.UniqueName = "RemoveLastUpload";
                    templateColumn.HeaderText = string.Empty;
                    DynamicTemplateField buttonTemplate = new DynamicTemplateField();
                    templateColumn.ItemTemplate     = buttonTemplate;
                    templateColumn.ItemStyle.Width  = Unit.Pixel(400);
                    templateColumn.ItemStyle.Height = Unit.Pixel(20);
                }
                else
                {
                    templateColumn.UniqueName       = "colYear" + column.ColumnName;
                    templateColumn.ItemTemplate     = new ImageYesNoTemplate(column.ColumnName);
                    templateColumn.HeaderText       = column.ColumnName;
                    templateColumn.ItemStyle.Width  = Unit.Pixel(50);
                    templateColumn.ItemStyle.Height = Unit.Pixel(20);
                }
                grdDataStatus.Columns.Add(templateColumn);
            }

            grdDataStatus.DataSource = SourceDS;
            grdDataStatus.DataMember = SourceDS.Tables[0].TableName;
        }
        catch (IndException ex)
        {
            ShowError(ex);
            return;
        }
        catch (Exception ex)
        {
            ShowError(new IndException(ex));
            return;
        }
    }
        public virtual GridTemplateColumnBuilder <TModel> Template(Func <TModel, object> template)
        {
            Guard.IsNotNull(template, "templateAction");

            GridTemplateColumn <TModel> column = new GridTemplateColumn <TModel>(Container, template);

            Container.Columns.Add(column);

            return(new GridTemplateColumnBuilder <TModel>(column));
        }
Exemple #9
0
        public override void AttachProperties(GridColumn gridColumn)
        {
            base.AttachProperties(gridColumn);

            GridTemplateColumn      column   = (GridTemplateColumn)gridColumn;
            PopupButtonItemTemplate template = new PopupButtonItemTemplate(DataTextField);

            template.PopupUrlField        = PopupUrlField;
            template.PopupUrlFormatString = PopupUrlFormatString;
            column.ItemTemplate           = template;
        }
Exemple #10
0
        public void Should_serialize_client_template_for_template_column()
        {
            var grid = GridTestHelper.CreateGrid <Customer>();

            grid.Ajax.Enabled = true;
            var column = new GridTemplateColumn <Customer>(grid, delegate { });

            column.ClientTemplate = "<#= Id #>";

            var result = column.CreateSerializer().Serialize();

            Assert.Equal("<#= Id #>", result["template"]);
        }
Exemple #11
0
        public static void PickerLinkButtonColumn(BasePage page, RadGrid Grid, Grid GridObject, PickerLinkButtonGridColumn Column, string ResourceKeyPrefix)
        {
            GridTemplateColumn col = new GridTemplateColumn();

            string HeaderText = Common.CoalesceStr(col.HeaderText, Column.HeaderText);


            col.HeaderText = GetGlobalResourceString(page, Column, ResourceKeyPrefix, "HeaderText", HeaderText);

            col.ItemTemplate = new LinkButtonTemplate(Column.DataTextField, Column.DataField);

            FormatStyle(col, Column);

            Grid.MasterTableView.Columns.Add(col);
        }
Exemple #12
0
        /// <summary>
        ///For load the predefined datatemplate to the GridTemplateColumn
        /// </summary>
        private static DataTemplate GetDataTemplate(GridTemplateColumn col)
        {
            FrameworkElementFactory btn = new FrameworkElementFactory(typeof(TextBlock));
            var bind = new Binding
            {
                Path = new PropertyPath(col.MappingName),
                Mode = BindingMode.TwoWay
            };

            btn.SetBinding(TextBlock.TextProperty, bind);
            DataTemplate dataTemplate = new DataTemplate();

            dataTemplate.VisualTree = btn;
            return(dataTemplate);
        }
        /// <summary>
        /// Applies the edit data template.
        /// </summary>
        /// <param name="uiElement">The unique identifier element.</param>
        /// <param name="templateColumn">The template column.</param>
        /// <param name="dataContext">The data context.</param>
        private void InitializeEditTemplate(ContentControl uiElement, GridTemplateColumn templateColumn,
                                            object dataContext)
        {
            if (templateColumn.hasEditTemplate)
            {
                uiElement.ContentTemplate = templateColumn.EditTemplate;
            }
            else if (templateColumn.hasEditTemplateSelector)
            {
                uiElement.ContentTemplateSelector = templateColumn.EditTemplateSelector;
#if UWP
                //UWP-3838 DataTemplates are not loaded when using ContentTemplateSelector in UWP.
                //By using ContentTemplate the DataTemplates are loaded.
                uiElement.ContentTemplate = templateColumn.EditTemplateSelector.SelectTemplate(dataContext, uiElement);
#endif
            }
        }
        ////private void RemoveGridColumn(string uniqueName)
        ////{
        ////    if (!Object.Equals(RadFileExplorer.Grid.Columns.FindByUniqueNameSafe(uniqueName), null))
        ////    {
        ////        RadFileExplorer.Grid.Columns.Remove(RadFileExplorer.Grid.Columns.FindByUniqueNameSafe(uniqueName));
        ////    }
        ////}

        ////private void AddDateAndOwnerColumns()
        ////{
        ////    if (AddDateColumn.Checked)
        ////    {
        ////        AddGridColumn("Creation Date", "Date", true);
        ////    }
        ////    else
        ////    {
        ////        RemoveGridColumn("Date");
        ////    }

        ////    if (AddOwnerColumn.Checked)
        ////    {
        ////        AddGridColumn("Owner Name", "Owner", false);
        ////    }
        ////    else
        ////    {
        ////        RemoveGridColumn("Owner");
        ////    }

        ////}

        private void AddGridColumn(string name, string uniqueName, bool sortable)
        {
            //remove first if grid has a column with that name
            ////RemoveGridColumn(uniqueName);
            // Add a new column with the specified name
            GridTemplateColumn gridTemplateColumn1 = new GridTemplateColumn();

            gridTemplateColumn1.HeaderText = name;
            if (sortable)
            {
                gridTemplateColumn1.SortExpression = uniqueName;
            }
            gridTemplateColumn1.UniqueName = uniqueName;
            gridTemplateColumn1.DataField  = uniqueName;

            RadFileExplorer.Grid.Columns.Add(gridTemplateColumn1);
        }
Exemple #15
0
        public GridTemplateColumn AddDropDownTemplateColumn(string dataField, string headerText, IEnumerable <BindingListItem> listDataSource)
        {
            GridTemplateColumn c = new GridTemplateColumn();

            _grid.MasterTableView.Columns.Add(c);
            c.UniqueName = dataField;
            c.DataField  = dataField;
            c.HeaderText = headerText;
            DropDownListItemTemplate template = new DropDownListItemTemplate(dataField);

            c.ItemTemplate          = template;
            template.ListDataSource = listDataSource;

            DropDownListEditItemTemplate editTemplate = new DropDownListEditItemTemplate(dataField, dataField);

            c.EditItemTemplate = editTemplate;
            return(c);
        }
        public override void AttachProperties(GridColumn gridColumn)
        {
            base.AttachProperties(gridColumn);

            GridTemplateColumn column = (GridTemplateColumn)gridColumn;

            HyperLinkItemTemplate template = new HyperLinkItemTemplate();

            column.ItemTemplate              = template;
            template.LinkTextField           = LinkTextField;
            template.NavigateUrlField        = NavigateUrlField;
            template.NavigateUrlFormatString = NavigateUrlFormatString;

            //if (!IsReadOnly)
            //{
            //    AttachmentEditItemTemplate editTemplate = new AttachmentEditItemTemplate(DataFieldKey, DataFieldKey);
            //    column.EditItemTemplate = editTemplate;
            //}
        }
        protected DataTable CrearDataTable <T>(IList <T> pLista, RadGrid pCtrlGrid)
        {
            List <int> lista        = ContextoReportes.oReporteComparativo.Where(t => t.vIdReporteComparativo == vIdReporteComparativo).FirstOrDefault().vListaPeriodos;
            List <int> listPeriodos = new List <int>();

            listPeriodos = lista;
            bool exists = listPeriodos.Exists(element => element == vIdPeriodo);

            if (!exists)
            {
                listPeriodos.Add(vIdPeriodo);
            }

            DataTable vColumnas           = ConvertToDataTable(pLista, listPeriodos);
            ConsultaGeneralNegocio negGen = new ConsultaGeneralNegocio();
            int?vMaxPuestos = 1;

            foreach (int item in listPeriodos.OrderBy(o => o))
            {
                var vDatosReporteGlobal = negGen.ObtenerDatosReporteGlobal(item, null, false).ToList();
                if (vDatosReporteGlobal.Count > 0)
                {
                    vMaxPuestos = vDatosReporteGlobal.FirstOrDefault().NUM_PERIODOS;
                }

                SPE_OBTIENE_FYD_PERIODO_EVALUACION_Result oPeriodos = negGen.ObtenerPeriodoEvaluacion(item);
                GridTemplateColumn vBoundColumn = new GridTemplateColumn();
                vBoundColumn.DataField                   = oPeriodos.ID_PERIODO.ToString();
                vBoundColumn.UniqueName                  = oPeriodos.ID_PERIODO.ToString();
                vBoundColumn.HeaderText                  = oPeriodos.CL_PERIODO;
                vBoundColumn.HeaderStyle.Width           = (Unit)(vMaxPuestos * 110);
                vBoundColumn.ColumnGroupName             = "gcCalificacion";
                vBoundColumn.ItemTemplate                = new MyTemplate(oPeriodos.ID_PERIODO.ToString());
                vBoundColumn.FooterStyle.HorizontalAlign = HorizontalAlign.Center;
                vBoundColumn.FooterStyle.Font.Bold       = true;
                vBoundColumn.AllowFiltering              = false;
                vBoundColumn.HeaderStyle.HorizontalAlign = HorizontalAlign.Center;
                rdComparativo.MasterTableView.Columns.Add(vBoundColumn);
            }

            return(vColumnas);
        }
        public override void AttachProperties(GridColumn gridColumn)
        {
            base.AttachProperties(gridColumn);

            GridTemplateColumn column = (GridTemplateColumn)gridColumn;

            column.HeaderText            = Caption;
            column.DataField             = DataTextField;
            column.CurrentFilterFunction = GridKnownFunction.EqualTo;

            LinkButtonItemTemplate template = new LinkButtonItemTemplate(DataTextField);

            column.ItemTemplate                  = template;
            template.DataNavigateUrlField        = DataNavigateUrlField;
            template.DataNavigateUrlFormatString = DataNavigateUrlFormatString;

            if (!IsReadOnly)
            {
                LinkButtonEditItemTemplate editTemplate = new LinkButtonEditItemTemplate(DataTextField, DataTextField);
                column.EditItemTemplate = editTemplate;
            }
        }
Exemple #19
0
        protected void ProjectSubDetailListGrid_PreRender(object sender, EventArgs e)
        {
            foreach (GridColumn col in ProjectSubDetailListGrid.MasterTableView.RenderColumns)
            {
                if (col.UniqueName == "Edit")
                {
                    GridTemplateColumn boundColumn = (GridTemplateColumn)col;
                    if (UserHelper.CurrentUser.UserTypeId == (int)EnumUserType.NGOHead)
                    {
                        boundColumn.Visible = true;
                    }
                    else if (UserHelper.CurrentUser.UserTypeId == (int)EnumUserType.ProjectManager && UserHelper.CurrentUser.Id == Convert.ToInt64(ProjectManagerId.Value))
                    {
                        boundColumn.Visible = true;
                    }

                    else
                    {
                        boundColumn.Visible = false;
                    }
                }

                if (col.UniqueName == "ActivityOperations")
                {
                    GridButtonColumn boundColumn = (GridButtonColumn)col;
                    if (UserHelper.CurrentUser.UserTypeId == (int)EnumUserType.Volunteer)
                    {
                        boundColumn.Visible = true;
                    }
                    else
                    {
                        boundColumn.Visible = false;
                    }
                }

                if (col.UniqueName == "ActivityConfirmationOperations" || col.UniqueName == "Participants")
                {
                    GridButtonColumn boundColumn = (GridButtonColumn)col;
                    if (UserHelper.CurrentUser.UserTypeId == (int)EnumUserType.ProjectManager && UserHelper.CurrentUser.Id == Convert.ToInt64(ProjectManagerId.Value))
                    {
                        boundColumn.Visible = true;
                    }
                    else
                    {
                        boundColumn.Visible = false;
                    }
                }

                if (col.UniqueName == "SurveyProjectDetailResult")
                {
                    GridButtonColumn boundColumn = (GridButtonColumn)col;
                    if (UserHelper.CurrentUser.UserTypeId == (int)EnumUserType.NGOHead)
                    {
                        boundColumn.Visible = true;
                    }
                    else
                    {
                        boundColumn.Visible = false;
                    }
                }
            }
        }
Exemple #20
0
        public static void GenerateColumnsSfDataGrid(SfDataGrid dataGrid, DataTable table, string prefab)
        {
            using (var conn = new SqlConnection(App.ConnectionString))
            {
                conn.Open();
                if (!string.IsNullOrEmpty(prefab))
                {
                    DataTable prefabTable = App.GetPrefabDataTable(conn, $"{App.Settings["Schema"]}_PREFABS", prefab);
                    DataTable comboTable  =
                        App.GetPrefabDataTable(conn, $"{App.Settings["Schema"]}_COMBOBOXES", prefab);

                    //could loop by table.ColumnNames.Count; but if prebab is changed... problems; maybe not all columns showing
                    for (var i = 0; i < table.Columns.Count; i++)
                    {
                        GridColumn column;

                        try
                        {
                            if (prefabTable.Rows[i]["TYPES"].ToString().ToLower().Equals("autocomplete"))
                            {
                                var comboStrings = new HashSet <string>();
                                for (var j = 0; j < comboTable.Rows.Count; j++)
                                {
                                    if (!string.IsNullOrEmpty(
                                            comboTable.Rows[j][prefabTable.Rows[i]["COLUMNS"].ToString()].ToString()))
                                    {
                                        comboStrings.Add(comboTable.Rows[j][prefabTable.Rows[i]["COLUMNS"].ToString()]
                                                         .ToString());
                                    }
                                }

                                StringBuilder sb1 = new StringBuilder();
                                sb1.AppendLine(
                                    "<DataTemplate xmlns=\"http://schemas.microsoft.com/winfx/2006/xaml/presentation\" xmlns:x=\"http://schemas.microsoft.com/winfx/2006/xaml\">");
                                sb1.AppendLine("<ComboBox PlaceholderText=\"{Binding " + prefabTable.Rows[i]["COLUMNS"] +
                                               ", Mode=TwoWay}\" IsEditable=\"True\" IsTextSearchEnabled=\"True\" IsDropDownOpen=\"True\" >");
                                foreach (var comboString in comboStrings)
                                {
                                    sb1.AppendLine($"<x:String>{comboString}</x:String>");
                                }
                                sb1.AppendLine("</ComboBox>");
                                sb1.AppendLine("</DataTemplate>");
                                DataTemplate cellTemplate = (DataTemplate)XamlReader.Load(sb1.ToString());
                                column = new GridTemplateColumn
                                {
                                    MappingName  = table.Columns[i].ColumnName,
                                    HeaderText   = prefabTable.Rows[i]["COLUMNS"].ToString(),
                                    EditTemplate = cellTemplate
                                };
                                dataGrid.Columns.Add(column);
                            }
                            else if (prefabTable.Rows[i]["TYPES"].ToString().ToLower().Equals("datepicker"))
                            {
                                column = new GridDateTimeColumn
                                {
                                    MappingName        = table.Columns[i].ColumnName,
                                    FormatString       = "MM/dd/yyyy",
                                    AllowInlineEditing = true,
                                    AllowNullValue     = true,
                                    HeaderText         = prefabTable.Rows[i]["COLUMNS"].ToString(),
                                    WaterMark          = string.Empty
                                };

                                dataGrid.Columns.Add(column);
                            }
                            else if (prefabTable.Rows[i]["TYPES"].ToString().ToLower().Equals("checkbox"))
                            {
                                column = new GridCheckBoxColumn
                                {
                                    MappingName  = table.Columns[i].ColumnName,
                                    IsThreeState = false,
                                    HeaderText   = prefabTable.Rows[i]["COLUMNS"].ToString()
                                };

                                dataGrid.Columns.Add(column);
                            }
                            else if (prefabTable.Rows[i]["TYPES"].ToString().ToLower().Equals("numeric"))
                            {
                                column = new GridNumericColumn
                                {
                                    MappingName = table.Columns[i].ColumnName,
                                    HeaderText  = prefabTable.Rows[i]["COLUMNS"].ToString(),
                                    MaximumNumberDecimalDigits = 3
                                };

                                dataGrid.Columns.Add(column);
                            }                            /*
                                                          * else if (prefabTable.Rows[i]["TYPES"].ToString().ToLower().Equals("currency"))
                                                          * {
                                                          *     column = new GridCurrencyColumn
                                                          *     {
                                                          *             MappingName = table.Columns[i].ColumnName,
                                                          *             HeaderText = prefabTable.Rows[i]["COLUMNS"].ToString()
                                                          *     };
                                                          *
                                                          *     dataGrid.Columns.Add(column);
                                                          * }*/
                            else if (prefabTable.Rows[i]["TYPES"].ToString().ToLower().Equals("hyperlink"))
                            {
                                column = new GridHyperlinkColumn
                                {
                                    MappingName = table.Columns[i].ColumnName,
                                    HeaderText  = prefabTable.Rows[i]["COLUMNS"].ToString()
                                };

                                dataGrid.Columns.Add(column);
                            }                            /*
                                                          * else if (prefabTable.Rows[i]["TYPES"].ToString().ToLower().Equals("percentage"))
                                                          * {
                                                          *     column = new GridPercentColumn
                                                          *     {
                                                          *             MappingName = table.Columns[i].ColumnName,
                                                          *             HeaderText = prefabTable.Rows[i]["COLUMNS"].ToString()
                                                          *     };
                                                          *
                                                          *     dataGrid.Columns.Add(column);
                                                          * }*/
                            else if (prefabTable.Rows[i]["TYPES"].ToString().ToLower().Equals("combobox"))
                            {
                                var comboStrings = new HashSet <string>();
                                for (var j = 0; j < comboTable.Rows.Count; j++)
                                {
                                    if (!string.IsNullOrEmpty(
                                            comboTable.Rows[j][prefabTable.Rows[i]["COLUMNS"].ToString()].ToString()))
                                    {
                                        comboStrings.Add(comboTable.Rows[j][prefabTable.Rows[i]["COLUMNS"].ToString()]
                                                         .ToString());
                                    }
                                }

                                column = new GridComboBoxColumn
                                {
                                    MappingName = table.Columns[i].ColumnName,
                                    ItemsSource = comboStrings,
                                    HeaderText  = prefabTable.Rows[i]["COLUMNS"].ToString()
                                };

                                dataGrid.Columns.Add(column);
                            }
                            else
                            {
                                column = new GridTextColumn
                                {
                                    MappingName = table.Columns[i].ColumnName,
                                    HeaderText  = prefabTable.Rows[i]["COLUMNS"].ToString()
                                };

                                dataGrid.Columns.Add(column);
                            }                             //TODO: More? CalendarDatePicker, TimePicker, DatePicker, Slider, ToggleSwitch, RichEditBox, PasswordBox, ColorPicker, ComboBox, RatingControl
                        }
                        catch
                        {
                            column = new GridTextColumn
                            {
                                MappingName = table.Columns[i].ColumnName,
                                HeaderText  = table.Columns[i].ColumnName
                            };

                            dataGrid.Columns.Add(column);
                        }
                    }
                }
                else
                {
                    foreach (DataColumn column in table.Columns)
                    {
                        GridColumn gridColumn = new GridTextColumn
                        {
                            MappingName = column.ColumnName,
                            HeaderText  = column.ColumnName
                        };

                        dataGrid.Columns.Add(gridColumn);
                    }
                }

                conn.Close();
            }
        }
Exemple #21
0
        protected override void CreateChildControls()
        {
            base.CreateChildControls();
            multiView = new MultiView();
            uxUsers   = new RadGrid();
            //uxUsers.RowStyle.BackColor = Color.FromArgb(0xEF, 0xF3, 0xFB);
            uxUsers.FooterStyle.BackColor = Color.FromArgb(0x50, 0x7C, 0xD1);
            uxUsers.FooterStyle.Font.Bold = true;
            uxUsers.FooterStyle.ForeColor = Color.White;
            uxUsers.HeaderStyle.BackColor = Color.FromArgb(0x50, 0x7C, 0xD1);
            uxUsers.HeaderStyle.Font.Bold = true;
            uxUsers.HeaderStyle.ForeColor = Color.White;
            //uxUsers.AlternatingRowStyle.BackColor = Color.White;
            uxUsers.Skin = "Office2007";
            uxUsers.AutoGenerateColumns = false;
            //uxUsers.EmptyDataTemplate = new EmptyDataTemplate();
            uxUsers.AllowSorting           = true;
            uxUsers.AllowFilteringByColumn = true;
            //uxUsers.Sorting += new GridViewSortEventHandler(uxUsers_Sorting);
            GridBoundColumn col = new GridBoundColumn();

            col.DataField      = "UserName";
            col.SortExpression = "UserName";
            col.HeaderText     = "نام كاربري";
            uxUsers.Columns.Add(col);

            if (ShowEmail)
            {
                col            = new GridBoundColumn();
                col.DataField  = "Email";
                col.HeaderText = "آدرس ايميل";
                uxUsers.Columns.Add(col);
            }
            if (ShowLastLoginDate)
            {
                GridTemplateColumn tmp = new GridTemplateColumn();
                //TemplateField tmp = new TemplateField();
                tmp.ItemTemplate   = new DateTemplate("LastLoginDate");
                tmp.SortExpression = "LastLoginDate";
                tmp.HeaderText     = "تاريخ آخرين ورود";
                uxUsers.Columns.Add(tmp);
            }
            if (ShowCreationDate)
            {
                GridTemplateColumn tmp = new GridTemplateColumn();
                tmp.ItemTemplate   = new DateTemplate("CreationDate");
                tmp.SortExpression = "CreationDate";
                tmp.HeaderText     = "تاريخ ايجاد حساب كاربري";
                uxUsers.Columns.Add(tmp);
            }
            if (ShowRoles)
            {
                GridTemplateColumn tmp = new GridTemplateColumn();
                tmp.ItemTemplate   = new RolesTemplate();
                tmp.HeaderText     = "نقشهای کاربر";
                tmp.SortExpression = "Role";
                uxUsers.Columns.Add(tmp);
            }
            if (ShowPassword)
            {
                col            = new GridBoundColumn();
                col.DataField  = "Password";
                col.HeaderText = "رمز عبور";
                uxUsers.Columns.Add(col);
            }
            //uxUsers.SortExpression

            int i = 0;

            foreach (CustomColumn c in customColumns)
            {
                GridTemplateColumn tmp = new GridTemplateColumn();
                tmp.ItemTemplate   = new CustomColumnTemplate(c);
                tmp.HeaderText     = c.Caption;
                tmp.SortExpression = "_col," + i.ToString();
                uxUsers.Columns.Add(tmp);
                i++;
            }

            if (AllowEditRoles)
            {
                GridTemplateColumn tmp = new GridTemplateColumn();
                tmp.ItemTemplate = new EditRolesButtonTemplate();
                uxUsers.Columns.Add(tmp);
            }
            if (AllowDelete)
            {
                GridTemplateColumn tmp = new GridTemplateColumn();
                tmp.ItemTemplate = new DeleteButtonTemplate();
                uxUsers.Columns.Add(tmp);
            }
            if (AllowEdit && !string.IsNullOrEmpty(EditUserPageUrl))
            {
                GridTemplateColumn tmp = new GridTemplateColumn();
                tmp.ItemTemplate = new EditButtonTemplate(EditUserPageUrl);
                uxUsers.Columns.Add(tmp);
            }
            //if (AllowNew)
            //{
            //	TemplateField tmp = new TemplateField();
            //	tmp.ItemTemplate = new DeleteButtonTemplate();
            //	uxUsers.Columns.Add(tmp);
            //}

            //col = new BoundField();
            //col.DataField = "";
            //col.HeaderText = "";
            //uxUsers.Columns.Add( col );

            uxUsers.ItemCommand += new GridCommandEventHandler(uxUsers_ItemCommand);

            View v = new View();

            v.Controls.Add(uxUsers);
            multiView.Views.Add(v);

            uxEditRoles              = new EditUserRoles();
            uxEditRoles.SaveClicked += new EventHandler(uxEditRoles_SaveClicked);
            v = new View();
            v.Controls.Add(uxEditRoles);
            multiView.Views.Add(v);

            multiView.ActiveViewIndex = 0;
            Controls.Add(multiView);
            ChildControlsCreated = true;
        }
        /// <summary>
        /// Occurs when the command associated with this CommandBinding executes.
        /// </summary>
        private static void OnExecuteAddColumn(object sender, ExecutedRoutedEventArgs e)
        {
            SerializationDemo mainwnd        = (SerializationDemo)Activator.CreateInstance(typeof(SerializationDemo));
            ManipulatorView   manipulatorwnd = sender as ManipulatorView;
            int index = manipulatorwnd.colType_combobox.SelectedIndex;

            if (manipulatorwnd.mappingname_cmbbox.SelectedItem == null && index == 1)
            {
                if (!String.IsNullOrEmpty(manipulatorwnd.unboundcol_mappingname_txtbox.Text) && manipulatorwnd.exprsn_combobox.SelectedItem != null)
                {
                    foreach (var col in mainwnd.dataGrid.Columns)
                    {
                        if (col.MappingName == manipulatorwnd.unboundcol_mappingname_txtbox.Text)
                        {
                            manipulatorwnd.err_textblock.Text       = "The given MappingName already exists";
                            manipulatorwnd.err_textblock.Visibility = Visibility.Visible;
                            return;
                        }
                    }
                    mainwnd.dataGrid.Columns.Add(new GridUnBoundColumn()
                    {
                        MappingName = manipulatorwnd.unboundcol_mappingname_txtbox.Text, Expression = manipulatorwnd.exprsn_combobox.Text
                    });
                    manipulatorwnd.exprsn_combobox.SelectedItem = null;
                    manipulatorwnd.unboundcol_mappingname_txtbox.Clear();
                    manipulatorwnd.Close();
                }
                else
                {
                    manipulatorwnd.err_textblock.Text       = "Experssion/MappingName is mandatory";
                    manipulatorwnd.err_textblock.Visibility = Visibility.Visible;
                    return;
                }
                return;
            }

            if (index == -1 || manipulatorwnd.mappingname_cmbbox.SelectedItem == null)
            {
                manipulatorwnd.err_textblock.Text       = "ColumnType/MappingName is mandatory";
                manipulatorwnd.err_textblock.Visibility = Visibility.Visible;
                return;
            }
            if (index != -1)
            {
                MappingNameDictionary dic = new MappingNameDictionary();
                var headerText            = manipulatorwnd.mappingname_cmbbox.SelectedItem.ToString();
                var mappingName           = dic.FirstOrDefault(x => x.Value == headerText).Key;

                switch (index)
                {
                case 0:
                    mainwnd.dataGrid.Columns.Add(new GridTextColumn()
                    {
                        MappingName = mappingName, HeaderText = headerText
                    });
                    break;

                case 2:
                    mainwnd.dataGrid.Columns.Add(new GridPercentColumn()
                    {
                        MappingName = mappingName, HeaderText = headerText
                    });
                    break;

                case 3:
                    mainwnd.dataGrid.Columns.Add(new GridNumericColumn()
                    {
                        MappingName = mappingName, HeaderText = headerText
                    });
                    break;

                case 4:
                    mainwnd.dataGrid.Columns.Add(new GridDateTimeColumn()
                    {
                        MappingName = mappingName, HeaderText = headerText
                    });
                    break;

                case 5:
                    mainwnd.dataGrid.Columns.Add(new GridCurrencyColumn()
                    {
                        MappingName = mappingName, HeaderText = headerText
                    });
                    break;

                case 6:
                    mainwnd.dataGrid.Columns.Add(new GridCheckBoxColumn()
                    {
                        MappingName = mappingName, HeaderText = headerText
                    });
                    break;

                case 7:
                    GridTemplateColumn tempCol = new GridTemplateColumn();
                    tempCol.MappingName  = mappingName.ToString();
                    tempCol.HeaderText   = headerText;
                    tempCol.CellTemplate = GetDataTemplate(tempCol);
                    mainwnd.dataGrid.Columns.Add(tempCol);
                    break;
                }
                manipulatorwnd.mappingname_cmbbox.SelectedItem = null;
                manipulatorwnd.Close();
            }
        }
Exemple #23
0
        public static RadGrid NewGrid(ResultArchiveAttributeWSO structure, bool?historyEnable = null)
        {
            var grid = new RadGrid
            {
                ID = DefaultControlId,
                AutoGenerateColumns = false,
                AllowPaging         = true,
                AllowCustomPaging   = true,
                PageSize            = ElementForPage,
                Culture             = new CultureInfo("it-IT")
            };

            grid.PagerStyle.PagerTextFormat = "{4} Pagina {0} di {1}";
            grid.PagerStyle.Mode            = GridPagerMode.NextPrev;

            grid.ItemDataBound += GridItemDataBound;

            grid.PagerStyle.Mode     = GridPagerMode.NextPrev;
            grid.PagerStyle.Position = GridPagerPosition.Top;

            grid.MasterTableView.Width = Unit.Percentage(100);

            var clnDetails = new GridTemplateColumn
            {
                ItemTemplate =
                    new LinkButtonTemplate("ShowDetails", "lupa.png", "Dettaglio & Documenti", historyEnable)
            };

            clnDetails.HeaderStyle.Width = new Unit(1, UnitType.Pixel);
            grid.MasterTableView.Columns.Add(clnDetails);

            var clnPublishingDate = new GridBoundColumn
            {
                DataField        = "PublishingDate",
                HeaderText       = "Data pubblicazione",
                DataFormatString = "{0:dd/MM/yyyy}"
            };

            clnPublishingDate.HeaderStyle.Width = new Unit(90, UnitType.Pixel);
            grid.MasterTableView.Columns.Add(clnPublishingDate);

            if (!historyEnable.HasValue || !historyEnable.Value)
            {
                var clnLastChangedDate = new GridTemplateColumn()
                {
                    DataField    = "LastChangedDate",
                    HeaderText   = "Data ultima modifica",
                    ItemTemplate = new HtmlLastChangedDateTemplate()
                };
                clnLastChangedDate.HeaderStyle.Width = new Unit(90, UnitType.Pixel);
                grid.MasterTableView.Columns.Add(clnLastChangedDate);
            }
            else
            {
                var clnRetireDate = new GridBoundColumn()
                {
                    DataField        = "RetireDate",
                    HeaderText       = "Data di ritiro",
                    DataFormatString = "{0:dd/MM/yyyy}"
                };
                clnRetireDate.HeaderStyle.Width = new Unit(90, UnitType.Pixel);
                grid.MasterTableView.Columns.Add(clnRetireDate);
            }

            var clnSubject = new GridTemplateColumn()
            {
                DataField    = "Subject",
                HeaderText   = "Oggetto",
                ItemTemplate = new HtmlSubjectTemplate()
            };

            grid.MasterTableView.Columns.Add(clnSubject);


            if (structure != null)
            {
                foreach (var dynamicData in structure.ArchiveAttributes)
                {
                    var column = new GridTemplateColumn
                    {
                        ItemTemplate = new DynamicColumnTemplate(dynamicData.Name),
                        HeaderText   = dynamicData.Description
                    };

                    grid.MasterTableView.Columns.Add(column);
                }
            }

            return(grid);
        }
Exemple #24
0
    private void BindGridOnRetriveButtonClick()
    {
        int suppSel = 0;

        string[] arrySuppName       = new string[] { "", "", "", "", "", "", "", "", "", "" };
        string[] arrSuppNameInShort = new string[10];
        ViewState["suppliercode"]  = "";
        ViewState["quotationcode"] = "";
        ViewState["suppcurrency"]  = "";
        string SuppQtnCodesItemTypes = "";


        if (rgdQuatationInfo.MasterTableView.Columns.Count > 12)
        {
            //Remove all the programatically generated colomn from grid and
            for (int i = rgdQuatationInfo.MasterTableView.Columns.Count - 1; i >= 12; i--)
            {
                rgdQuatationInfo.MasterTableView.Columns.RemoveAt(i);
            }
        }
        if (Request.QueryString["Requisitioncode"].ToString().Substring(0, 2) == "ST" || Request.QueryString["Requisitioncode"].ToString().Substring(0, 3) == "OST")
        {
            rgdQuatationInfo.MasterTableView.Columns[3].Display = false;
        }
        StringBuilder strSql    = new StringBuilder();
        StringBuilder strTables = new StringBuilder();
        decimal       MinValues = 0;
        int           col_id    = 11;
        int           sel_Id    = 0;
        string        supplist  = "";

        //  HiddenChepSupp.Value = 0;
        // strSql.Append("select distinct a.ITEM_SERIAL_NO,'False' chechstatus, a.QUOTATION_CODE,a.ITEM_REF_CODE, a.ITEM_SHORT_DESC,a.ITEM_FULL_DESC,a.QUOTED_UNIT_ID,a.QUOTED_QTY");
        strSql.Append(@"select distinct a.ITEM_SERIAL_NO
                        ,'False' chechstatus
                        , a.QUOTATION_CODE
                        ,a.ITEM_REF_CODE
                        , a.ITEM_SHORT_DESC
                        ,a.ITEM_FULL_DESC
                        ,a.QUOTED_QTY
                        ,case when item.Drawing_Number='0' then '' else item.Drawing_Number end Drawing_Number
                        ,Item.Part_Number,isnull(Item.Long_Description,'') Long_Description
                        , M.ITEM_COMMENT 
                        ,item.Unit_and_Packings
                        ,M.ROB_Qty
                        ,M.REQUESTED_QTY
                        ,M.ORDER_QTY
                        ,isnull(M.ITEM_INTERN_REF,0) as ITEM_INTERN_REF
                        ,a.Vessel_Code
                        ,PURC_LIB_SUBSYSTEMS.Subsystem_Description
                        ,'" + lblCatalog.Text.Trim() + @"' as Catalogue
                        , '" + lblReqNo.Text.Trim() + "' as Reqsnno");
        // strTables.Append(" from PURC_Dtl_Quoted_Prices a ");
        strTables.Append(@"  from PURC_Dtl_Quoted_Prices a 
                            inner  join PURC_Lib_Items item On item.Item_Intern_Ref=A.Item_Ref_Code 
                            inner join PURC_Dtl_Supply_Items M on M.item_ref_code=A.item_ref_code and M.Document_Code=a.Document_Code and a.Vessel_Code=M.Vessel_Code 
                            inner join PURC_LIB_SUBSYSTEMS on PURC_LIB_SUBSYSTEMS.Subsystem_Code  =M.ITEM_SUBSYSTEM_CODE and PURC_LIB_SUBSYSTEMS.System_Code=M.ITEM_SYSTEM_CODE ");

        string BackColor   = "";
        int    suppCountBG = 2;

        foreach (GridDataItem dataItem in rgdSupplierInfo.MasterTableView.Items)
        {
            string str = "";

            TextBox  txtgrdItemReqQty = (TextBox)(dataItem.FindControl("txtgrdItemReqstdQty") as TextBox);
            CheckBox chk = (CheckBox)(dataItem.FindControl("chkQuaEvaluated") as CheckBox);

            string PortName     = rgdSupplierInfo.MasterTableView.DataKeyValues[dataItem.ItemIndex]["PortName"].ToString();
            string suppcurrency = rgdSupplierInfo.MasterTableView.DataKeyValues[dataItem.ItemIndex]["Currency"].ToString();
            if ((chk.Checked))
            {
                if (suppCountBG % 2 == 0)// assigne the different color to suppliers
                {
                    BackColor = "QtnEval-ItemStyle-css";
                }
                else
                {
                    BackColor = "QtnEval-AltItemStyle-css";
                }
                suppCountBG++;

                col_id = col_id + Convert.ToInt32(ViewState["ColumnCount_Supp"].ToString());

                string QUOTATION_CODE = dataItem["QUOTATION_CODE"].Text.ToString();
                string Col_supp       = dataItem["SUPPLIER"].Text.ToString().Replace('-', '_') + QUOTATION_CODE.Replace('-', '_');
                string Col_supp_Alias = "Supp" + dataItem["SUPPLIER"].Text.ToString().Trim() + dataItem.ItemIndex.ToString();
                string Col_supp_where = dataItem["SUPPLIER"].Text;

                string Col_supp_Short = dataItem["SHORT_NAME"].Text.ToString();
                string strColSupp     = "";
                if (Col_supp_Short.Length > Convert.ToInt32(ViewState["ColumnCount_Supp"].ToString()))
                {
                    for (int i = 0; i < Convert.ToInt32(ViewState["ColumnCount_Supp"].ToString()); i++)
                    {
                        strColSupp = strColSupp + Col_supp_Short[i];
                    }
                }
                else
                {
                    strColSupp = Col_supp_Short;
                }



                strSql.Append(",");
                strTables.Append(" Inner Join ");

                str = @"(select supl.ITEM_REF_CODE
                        ,( QUOTED_RATE * " + dataItem["EXCHANGE_RATE"].Text.ToString() + ") " + Col_supp_Alias + @"_Rate
                        ,QUOTED_PRICE " + Col_supp_Alias + @"_Price
                        ,QUOTED_DISCOUNT " + Col_supp_Alias + @"_Discount
                        , QUOTATION_REMARKS " + Col_supp_Alias + @"_Remark
                        , case when isnull(EVALUATION_OPTION,0)=1 then 'True' else 'False' end as " + Col_supp_Alias + @"_Status
                        ,QUOTATION_CODE
                        ,(((cast(QUOTED_RATE*" + dataItem["EXCHANGE_RATE"].Text.Trim() + " as decimal(18,2))*supl.ORDER_QTY)-(cast(QUOTED_RATE*" + dataItem["EXCHANGE_RATE"].Text.Trim() + " as decimal(18,2))*supl.ORDER_QTY*cast(QUOTED_DISCOUNT* " + dataItem["EXCHANGE_RATE"].Text.Trim() + " as decimal(18,2))/100))) " + Col_supp_Alias + @"_Amount
                        , isnull(Lead_Time,'') " + Col_supp_Alias + @"_Lead_Time
                        , [Description]" + Col_supp_Alias + @"_ItemType    
                        from PURC_Dtl_Quoted_Prices 
                        inner join PURC_DTL_SUPPLY_ITEMS supl on supl.DOCUMENT_CODE=PURC_Dtl_Quoted_Prices.DOCUMENT_CODE and supl.ITEM_REF_CODE=PURC_Dtl_Quoted_Prices.ITEM_REF_CODE  
                        inner join PURC_LIB_SYSTEM_PARAMETERS on Code=Item_Type 
                        where supplier_code='" + Col_supp_where
                      + "' and QUOTATION_CODE ='" + QUOTATION_CODE + "')  " + Col_supp_Alias + " on " + Col_supp_Alias + ".ITEM_REF_CODE = a.ITEM_REF_CODE ";
                if (col_id == 18)
                {
                    str += " and " + Col_supp_Alias + ".QUOTATION_CODE=a.QUOTATION_CODE ";
                }



                strTables.Append(str);
                strSql.Append(Col_supp_Alias);
                strSql.Append(".* ");
                // strSql.Append(" (select isnull(Description,'Original')as  Description from PURC_LIB_SYSTEM_PARAMETERS where Code=isnull(a.Item_Type,154) ) as ItemType ");

                GridBoundColumn boundColumn;
                boundColumn                           = new GridBoundColumn();
                boundColumn.HeaderText                = "Unit Price";
                boundColumn.DataField                 = Col_supp_Alias + "_Rate";
                boundColumn.UniqueName                = Col_supp + "_Rate";
                boundColumn.DataFormatString          = "{0:F2}";
                boundColumn.ItemStyle.HorizontalAlign = HorizontalAlign.Right;
                boundColumn.ItemStyle.CssClass        = BackColor;
                boundColumn.HeaderStyle.Width         = 70;
                boundColumn.ItemStyle.Width           = 70;

                rgdQuatationInfo.MasterTableView.Columns.Add(boundColumn);

                boundColumn                  = new GridBoundColumn();
                boundColumn.HeaderText       = "Discount";
                boundColumn.DataField        = Col_supp_Alias + "_Discount";
                boundColumn.UniqueName       = Col_supp + "_Discount";
                boundColumn.DataFormatString = "{0:F2}";

                boundColumn.ItemStyle.HorizontalAlign = HorizontalAlign.Right;
                boundColumn.ItemStyle.CssClass        = BackColor;
                boundColumn.HeaderStyle.Width         = 70;
                boundColumn.ItemStyle.Width           = 70;
                rgdQuatationInfo.MasterTableView.Columns.Add(boundColumn);

                boundColumn                  = new GridBoundColumn();
                boundColumn.HeaderText       = "Amount";
                boundColumn.DataField        = Col_supp_Alias + "_Amount";
                boundColumn.UniqueName       = Col_supp + "_Amount";
                boundColumn.DataFormatString = "{0:F2}";

                boundColumn.ItemStyle.HorizontalAlign = HorizontalAlign.Right;
                boundColumn.ItemStyle.CssClass        = BackColor;
                boundColumn.HeaderStyle.Width         = 70;
                boundColumn.ItemStyle.Width           = 70;
                rgdQuatationInfo.MasterTableView.Columns.Add(boundColumn);

                boundColumn            = new GridBoundColumn();
                boundColumn.HeaderText = "Lead days";
                boundColumn.DataField  = Col_supp_Alias + "_Lead_Time";
                boundColumn.UniqueName = Col_supp + "_Lead_Time";
                //  boundColumn.DataFormatString = "{0:F2}";

                boundColumn.ItemStyle.HorizontalAlign = HorizontalAlign.Right;
                boundColumn.ItemStyle.CssClass        = BackColor;
                boundColumn.HeaderStyle.Width         = 70;
                boundColumn.ItemStyle.Width           = 70;
                rgdQuatationInfo.MasterTableView.Columns.Add(boundColumn);


                boundColumn            = new GridBoundColumn();
                boundColumn.HeaderText = "ItemType";
                boundColumn.DataField  = Col_supp_Alias + "_ItemType";
                boundColumn.UniqueName = Col_supp + "_ItemType";
                boundColumn.ItemStyle.HorizontalAlign = HorizontalAlign.Right;
                boundColumn.ItemStyle.CssClass        = BackColor;
                boundColumn.HeaderStyle.Width         = 70;
                boundColumn.ItemStyle.Width           = 70;
                rgdQuatationInfo.MasterTableView.Columns.Add(boundColumn);



                GridTemplateColumn templateColumnRemark = new GridTemplateColumn();
                templateColumnRemark.HeaderText   = "Remark";
                templateColumnRemark.DataField    = Col_supp_Alias + "_Remark";
                templateColumnRemark.ItemTemplate = new DataGridTemplateImage(ListItemType.Item, Col_supp, Col_supp + "_Remark");
                templateColumnRemark.UniqueName   = Col_supp + "_img";
                templateColumnRemark.ItemStyle.HorizontalAlign = HorizontalAlign.Center;
                templateColumnRemark.ItemStyle.CssClass        = BackColor;
                templateColumnRemark.ItemStyle.Width           = 70;
                templateColumnRemark.HeaderStyle.Width         = 70;
                rgdQuatationInfo.MasterTableView.Columns.Add(templateColumnRemark);

                GridTemplateColumn templateColumn = new GridTemplateColumn();
                templateColumn.UniqueName                = "TempChk";
                templateColumn.HeaderTemplate            = new DataGridTempla(ListItemType.Header, Col_supp, "Select", "");
                templateColumn.ItemTemplate              = new DataGridTempla(ListItemType.Item, Col_supp, Col_supp, Col_supp_Alias + "_Status");
                templateColumn.UniqueName                = Col_supp + "_chk";
                templateColumn.ItemStyle.HorizontalAlign = HorizontalAlign.Center;
                templateColumn.ItemStyle.CssClass        = BackColor;
                templateColumn.HeaderStyle.Width         = 70;
                templateColumn.ItemStyle.Width           = 70;
                rgdQuatationInfo.MasterTableView.Columns.Add(templateColumn);


                ViewState["Col_supp"]      = Col_supp;
                ViewState["Portname"]     += PortName + ",";
                ViewState["suppcurrency"] += suppcurrency + ",";
                ViewState["suppliercode"]  = ViewState["suppliercode"] + Col_supp_Alias + ",";
                ViewState["quotationcode"] = ViewState["quotationcode"] + QUOTATION_CODE + ",";
                SuppQtnCodesItemTypes     += " select '" + QUOTATION_CODE + "'  ";

                arrySuppName[suppSel] = Col_supp;
                supplist = Col_supp + "," + supplist;
                arrSuppNameInShort[suppSel] = strColSupp;


                suppSel += 1;
                if (MinValues == 0 || MinValues > Convert.ToDecimal(dataItem["Supp_Tot_Amt"].Text.ToString()))
                {
                    //HiddenChepSupp.Value = Col_supp + "_chk";
                    HiddenChepSupp.Value = Col_supp;
                    MinValues            = Convert.ToDecimal(dataItem["Supp_Tot_Amt"].Text.ToString());
                    sel_Id = col_id;
                }
            }
        }
        strSql.Append(" ");
        strSql.Append(strTables);
        Session["SubQuerry"] = strSql.ToString();
        strSql.Append("where  a.Document_code ='" + Request.QueryString["Document_Code"].ToString() + "' and a.active_status=1 order by a.ITEM_SERIAL_NO");

        SuppQtnCodesItemTypes = SuppQtnCodesItemTypes.Remove(SuppQtnCodesItemTypes.Length - 1, 1);
        dtItemsTypes          = BLL_PURC_Common.GET_ItemTypeAll(SuppQtnCodesItemTypes);

        DataTable dt = new DataTable();
        DataTable dtQuatationInfo = new DataTable();

        ViewState["SuppSelforEval"]      = suppSel;
        ViewState["supplierList"]        = arrySuppName;
        ViewState["supplierListInShort"] = arrSuppNameInShort;
        ViewState["EvaluateTable"]       = dtQuatationInfo;

        count = 0;
        // optEval.Attributes.Add("Onclick", "return CalculateByEvalOpt('" + EvalOpt + "'," +sel_Id+");");



        Session["supplist"] = supplist.ToString();



        TechnicalBAL objtechBAL = new TechnicalBAL();
        string       FinalQuery = strSql.ToString();

        dtQuatationInfo             = objtechBAL.GetTable(FinalQuery);
        rgdQuatationInfo.DataSource = dtQuatationInfo;
        rgdQuatationInfo.DataBind();
        Session["QuatationInfo"]  = dtQuatationInfo;
        Session["GeneratedQuery"] = FinalQuery;

        foreach (GridDataItem Item in rgdQuatationInfo.MasterTableView.Items)
        {
            int      suppCount = (int)ViewState["SuppSelforEval"];
            string[] arrSupp   = (string[])ViewState["supplierList"];



            count++;

            Label longDescpt = (Label)Item.FindControl("lblLongDesc");
            if (longDescpt.ToolTip == "1")
            {
                ((HyperLink)Item.FindControl("lblItemDesc")).CssClass = "NewItem";
                Item.Cells[8].BackColor = System.Drawing.Color.Yellow;
            }
        }

        ViewState["EvaluateTable"] = dtQuatationInfo;
        int column    = 14;
        int PortCount = 0;

        foreach (string supp in arrSuppNameInShort)
        {
            if (supp != "" && supp != null)
            {
                info.AddMergedColumns(new int[] { column, column + 1, column + 2, column + 3, column + 4, column + 5, column + 6 }, supp + "  (Port : " + ViewState["Portname"].ToString().Split(new char[] { ',' })[PortCount].ToString() + " ,Quoted Currency : " + ViewState["suppcurrency"].ToString().Split(new char[] { ',' })[PortCount].ToString() + ")");
                column += Convert.ToInt32(ViewState["ColumnCount_Supp"].ToString());
            }
            PortCount++;
        }
    }
Exemple #25
0
        public void PintarReporte()
        {
            vPeriodosComparar = new List <E_PERIODOS_COMPARAR>();
            vMetasPeriodo     = new List <E_METAS_COMPARACION_DESEMPENO>();
            PeriodoDesempenoNegocio nDesempeno = new PeriodoDesempenoNegocio();

            vPeriodosComparar = nDesempeno.ObtenerDesempenoComparacion(SELECCIONPERIODOS.ToString());
            int vCuentaPeriodos = nDesempeno.ObtenerDesempenoComparacion(SELECCIONPERIODOS.ToString()).Count;

            vWidthDiv = vCuentaPeriodos * 580;

            if (vCuentaPeriodos > 2)
            {
                btnCancelar.Visible = false;
            }

            dvReporte.Style.Add("width", vWidthDiv.ToString() + "px");
            foreach (E_PERIODOS_COMPARAR item in vPeriodosComparar)
            {
                vResultado = 0;
                HtmlGenericControl vControlGrid = new HtmlGenericControl("div");
                vControlGrid.Attributes.Add("class", "ctrlBasico");
                string vRows = "<table class='ctrlTableForm' style='max-width: 460' >" +
                               "<tr><td class='ctrlTableDataContext'><b>Puesto: </b></td><td colspan='2' class='ctrlTableDataBorderContext'>" + item.NB_PUESTO + "</td></tr>" +
                               "<tr><td class='ctrlTableDataContext'><b>Período: </b></td><td colspan='2' class='ctrlTableDataBorderContext'>" + item.NB_PERIODO + "</td></tr>" +
                               "<tr><td class='ctrlTableDataContext'><b>Fechas: </b></td><td colspan='2' class='ctrlTableDataBorderContext'>" + item.FE_INICIO.ToString("dd-MM-yyyy") + " a " + item.FE_TERMINO.ToString("dd-MM-yyyy") + "</td></tr></table>";
                vControlGrid.InnerHtml = vRows;
                // vMetasPeriodo = nDesempeno.ObtieneMetasComparacion(idEvaluadoMeta: null, pIdPeriodo: item.ID_PERIODO, idEvaluado: vIdEvaluado);
                vMetasPeriodo = nDesempeno.ObtieneMetasPeriodoComparar(SELECCIONPERIODOS.ToString(), idEvaluado: vIdEvaluado, pIdPeriodo: item.ID_PERIODO);
                int vHeight = nDesempeno.ObtieneMetasPeriodoComparar(SELECCIONPERIODOS.ToString(), idEvaluado: vIdEvaluado, pIdPeriodo: item.ID_PERIODO).Count;
                foreach (E_METAS_COMPARACION_DESEMPENO elemen in vMetasPeriodo)
                {
                    vResultado = vResultado + elemen.PR_CUMPLIMIENTO_META;
                }

                if (vHeight == 1)
                {
                    vHeight = 2;
                }

                RadGrid vGrid = new RadGrid()
                {
                    ID                  = "rgEvaluado" + item.CL_PERIODO + item.ID_PERIODO.ToString(),
                    Width               = 560,
                    CssClass            = "cssGrid",
                    AutoGenerateColumns = false,
                };
                GridColumnGroup columnGroup = new GridColumnGroup();
                vGrid.MasterTableView.ColumnGroups.Add(columnGroup);
                vGrid.ShowFooter = true;
                vGrid.ClientSettings.Scrolling.UseStaticHeaders = true;
                vGrid.FooterStyle.Font.Bold             = true;
                columnGroup.HeaderText                  = "METAS EVALUADAS";
                columnGroup.Name                        = "metas";
                columnGroup.HeaderStyle.HorizontalAlign = HorizontalAlign.Center;
                columnGroup.HeaderStyle.Font.Bold       = true;
                columnGroup.HeaderStyle.BackColor       = Color.FromArgb(162, 8, 0);
                columnGroup.HeaderStyle.ForeColor       = Color.White;
                vGrid.MasterTableView.DataKeyNames      = new string[] { "ID_EVALUADO_META", "ID_PERIODO" };
                vGrid.ItemDataBound                    += new GridItemEventHandler(vGrid_ItemDataBound);
                DataTable       dataTable = new DataTable();
                GridBoundColumn vColumn   = new GridBoundColumn();
                vColumn.HeaderText                  = "Meta";
                vColumn.DataField                   = "DS_META";
                vColumn.HeaderStyle.Width           = 150;
                vColumn.ColumnGroupName             = "metas";
                vColumn.HeaderStyle.HorizontalAlign = HorizontalAlign.Center;
                vColumn.HeaderStyle.Font.Bold       = true;
                vGrid.Columns.Add(vColumn);
                GridBoundColumn vColumnPr = new GridBoundColumn();
                vColumnPr.HeaderText                  = "Ponderación";
                vColumnPr.DataField                   = "PR_EVALUADO";
                vColumnPr.HeaderStyle.Width           = 100;
                vColumnPr.ColumnGroupName             = "metas";
                vColumnPr.ItemStyle.HorizontalAlign   = HorizontalAlign.Right;
                vColumnPr.HeaderStyle.HorizontalAlign = HorizontalAlign.Center;
                vColumnPr.HeaderStyle.Font.Bold       = true;
                //vColumnPr.DataFormatString = "{0:N2}%";
                vGrid.Columns.Add(vColumnPr);
                GridTemplateColumn templateColumn = new GridTemplateColumn();
                templateColumn.HeaderText                  = "Nivel alcanzado";
                templateColumn.ColumnGroupName             = "metas";
                templateColumn.HeaderStyle.HorizontalAlign = HorizontalAlign.Center;
                templateColumn.ItemStyle.HorizontalAlign   = HorizontalAlign.Center;
                templateColumn.HeaderStyle.Font.Bold       = true;
                templateColumn.UniqueName                  = item.ToString();
                templateColumn.HeaderStyle.Width           = 80;
                templateColumn.ItemTemplate                = new MyTemplate("Color");
                vGrid.Columns.Add(templateColumn);
                GridBoundColumn vColumnCum = new GridBoundColumn();
                vColumnCum.ItemStyle.HorizontalAlign   = HorizontalAlign.Right;
                vColumnCum.HeaderStyle.HorizontalAlign = HorizontalAlign.Center;
                vColumnCum.HeaderText      = "Cumplimiento";
                vColumnCum.ColumnGroupName = "metas";
                vColumnCum.DataField       = "PR_CUMPLIMIENTO_META_STR";
                //vColumnCum.Aggregate = GridAggregateFunction.Sum;
                //vColumnCum.FooterAggregateFormatString = "Total: {0:N2}%";
                //vColumnCum.DataFormatString = "{0:N2}%";
                vColumnCum.FooterText = vResultado.ToString() + "%";

                if (vResultado < 1)
                {
                    vColumnCum.FooterStyle.BackColor = Color.Gray;
                }
                if (vResultado > 0 && vResultado < 60)
                {
                    vColumnCum.FooterStyle.BackColor = Color.Red;
                    vColumnCum.FooterStyle.ForeColor = Color.White;
                }
                if (vResultado > 59 && vResultado < 76)
                {
                    vColumnCum.FooterStyle.BackColor = Color.Yellow;
                }
                if (vResultado > 75)
                {
                    vColumnCum.FooterStyle.BackColor = Color.Green;
                    vColumnCum.FooterStyle.ForeColor = Color.White;
                }
                vColumnCum.HeaderStyle.Width           = 130;
                vColumnCum.HeaderStyle.Font.Bold       = true;
                vColumnCum.FooterStyle.HorizontalAlign = HorizontalAlign.Center;
                vGrid.Columns.Add(vColumnCum);
                GridTemplateColumn templateColumnArchivo = new GridTemplateColumn();
                templateColumnArchivo.HeaderText = "Evidencia";
                templateColumnArchivo.HeaderStyle.HorizontalAlign = HorizontalAlign.Center;
                templateColumnArchivo.ItemStyle.HorizontalAlign   = HorizontalAlign.Center;
                templateColumnArchivo.HeaderStyle.Width           = 90;
                templateColumnArchivo.ColumnGroupName             = "metas";
                templateColumnArchivo.HeaderStyle.Font.Bold       = true;
                templateColumnArchivo.ItemTemplate = new MyTemplate("Evidencias");
                vGrid.Columns.Add(templateColumnArchivo);
                vGrid.DataSource = vMetasPeriodo;
                vGrid.ClientSettings.Selecting.AllowRowSelect = false;
                vGrid.ClientSettings.Scrolling.AllowScroll    = true;
                HtmlGenericControl vContenedorControlGrid = new HtmlGenericControl("div");
                vContenedorControlGrid.Attributes.Add("class", "ctrlBasico");
                vContenedorControlGrid.Controls.Add(vGrid);
                vControlGrid.Controls.Add(vContenedorControlGrid);
                dvReporte.Controls.Add(vControlGrid);
            }
        }
Exemple #26
0
        public override GridColumn CreateColumn()
        {
            GridTemplateColumn column = new GridTemplateColumn();

            return(column);
        }
        private void PopulateDataGrid()
        {
            // Hide Controls
            this.dvEmptyContent.Visible   = false;
            this.dvDataContent.Visible    = false;
            this.dvNoSearchResult.Visible = false;

            // Populate Items
            IndicoCIFPriceViewBO        objPrice      = new IndicoCIFPriceViewBO();
            List <IndicoCIFPriceViewBO> lstCostSheets = objPrice.SearchObjects().OrderBy(m => m.PatternCode).ToList();

            if (IsFOB)
            {
                lstCostSheets.ForEach(m => m.IndimanPrice = (m.IndimanPrice - m.ConversionFactor));
            }

            DataTable dtCostSheets = ToDataTable(lstCostSheets);

            if (lstCostSheets.Count > 0)
            {
                this.RadGridCostSheets.AllowPaging = (lstCostSheets.Count > this.RadGridCostSheets.PageSize);

                if (DisplayPriceLevels)
                {
                    List <PriceLevelNewBO> lstPriceLevels = new PriceLevelNewBO().SearchObjects();

                    if (lstPriceLevels.Any())
                    {
                        ViewState["LevelCount"] = lstPriceLevels.Count;

                        foreach (PriceLevelNewBO objLevel in lstPriceLevels)
                        {
                            string colName = objLevel.Volume.Replace(' ', '_');

                            GridTemplateColumn tempColumn = new GridTemplateColumn();
                            tempColumn.AllowFiltering     = true;
                            tempColumn.DataField          = colName;
                            tempColumn.FilterControlWidth = Unit.Pixel(50);
                            tempColumn.UniqueName         = colName;
                            //tempColumn.HeaderText = objLevel.Volume + " units";
                            RadGridCostSheets.Columns.Add(tempColumn);

                            DataColumn columnLevel = new DataColumn(colName, typeof(string));
                            columnLevel.DefaultValue = "$0.00";
                            dtCostSheets.Columns.Add(columnLevel);

                            int row = 0;
                            foreach (IndicoCIFPriceViewBO objCostSheet in lstCostSheets)
                            {
                                dtCostSheets.Rows[row++][columnLevel] = "$" + ((objCostSheet.IndimanPrice ?? 0) / Convert.ToDecimal(((100 - objLevel.Markup) / 100))).ToString("0.00");
                            }
                        }

                        GridTemplateColumn whatIfPriceColumn = new GridTemplateColumn();
                        whatIfPriceColumn.FilterControlWidth = Unit.Pixel(50);

                        whatIfPriceColumn.AllowFiltering = false;
                        whatIfPriceColumn.UniqueName     = "WhatPrice";
                        RadGridCostSheets.Columns.Add(whatIfPriceColumn);
                        whatIfPriceColumn.HeaderText = "What-if Price";

                        GridTemplateColumn whatIfPercentageColumn = new GridTemplateColumn();
                        whatIfPercentageColumn.FilterControlWidth = Unit.Pixel(50);
                        whatIfPercentageColumn.AllowFiltering     = false;
                        whatIfPercentageColumn.UniqueName         = "WhatPercentage";
                        RadGridCostSheets.Columns.Add(whatIfPercentageColumn);
                        whatIfPercentageColumn.HeaderText = "What-if %";

                        litModified.Text = "Last Modified by " + lstPriceLevels.First().objLastModifier.GivenName + " " + lstPriceLevels.First().objLastModifier.FamilyName + " on " + lstPriceLevels.First().LastModifiedDate.ToShortDateString();
                    }
                }

                if (this.DisplayMarginRates && !this.IsFOB)
                {
                    GridTemplateColumn savePriceColumn = new GridTemplateColumn();
                    savePriceColumn.FilterControlWidth = Unit.Pixel(50);
                    savePriceColumn.AllowFiltering     = false;
                    savePriceColumn.UniqueName         = "Save";
                    RadGridCostSheets.Columns.Add(savePriceColumn);
                    savePriceColumn.HeaderText = string.Empty;
                }

                this.RadGridCostSheets.DataSource = dtCostSheets;
                this.RadGridCostSheets.DataBind();

                RadGridCostSheets.MasterTableView.GetColumn("LastModifier").Display = false;
                RadGridCostSheets.MasterTableView.GetColumn("ModifiedDate").Display = false;
                RadGridCostSheets.MasterTableView.GetColumn("Remarks").Display      = false;

                RadGridCostSheets.MasterTableView.GetColumn("IndimanPrice").Visible   = this.DisplayIndimanPrice;
                RadGridCostSheets.MasterTableView.GetColumn("QuotedFOBPrice").Visible = this.DisplayJKPrice;
                RadGridCostSheets.MasterTableView.GetColumn("FOBCost").Visible        = this.DisplayFOBCost;
                RadGridCostSheets.MasterTableView.GetColumn("CostSheet").Visible      = this.DisplayCostSheet;
                RadGridCostSheets.MasterTableView.GetColumn("ActMgn").Visible         = this.DisplayMarginRates;
                RadGridCostSheets.MasterTableView.GetColumn("QuotedMp").Visible       = this.DisplayMarginRates;
                RadGridCostSheets.MasterTableView.GetColumn("FabricPrice").Visible    = this.DisplayFabricPrice;

                this.dvDataContent.Visible = true;

                Session["CostSheetDetails"] = dtCostSheets;
            }
            //else if ((searchText != string.Empty && searchText != "search"))
            //{
            //    this.lblSerchKey.Text = searchText + ((searchText != string.Empty) ? " - " : string.Empty);

            //    this.dvDataContent.Visible = true;
            //    this.dvNoSearchResult.Visible = true;
            //}
            else
            {
                this.dvEmptyContent.Visible = true;
                //this.btnAddSetting.Visible = false;
            }

            this.RadGridCostSheets.Visible = (lstCostSheets.Count > 0);
        }
        public static void UtworzKolumny(List <GridViewColumn> kolumny, RadGrid radGrid, bool isPostBack, Page page)
        {
            foreach (var opisKolumny in kolumny)
            {
                GridEditableColumn column = null;
                if (opisKolumny.ColumnType == GridColumnType.CheckboxColumn)
                {
                    var cbColumn = new GridCheckBoxColumn();
                    cbColumn.DataField = opisKolumny.Name;


                    column = cbColumn;
                }
                else if (opisKolumny.ColumnType == GridColumnType.BoundColumn)
                {
                    var bColumn = new GridBoundColumn();
                    bColumn.DataField = opisKolumny.Name;
                    bColumn.Aggregate = (Telerik.Web.UI.GridAggregateFunction)opisKolumny.Aggregate;
                    if (string.IsNullOrEmpty(opisKolumny.DataTypeName) == false)
                    {
                        bColumn.DataType = Type.GetType(opisKolumny.DataTypeName);
                    }
                    if (bColumn.Aggregate == GridAggregateFunction.Count)
                    {
                        bColumn.FooterText = "Ilość: ";
                    }
                    bColumn.DataFormatString = opisKolumny.DataFormatString;

                    column = bColumn;
                }
                else if (opisKolumny.ColumnType == GridColumnType.EnumColumn)
                {
                    var templateColumn = new GridTemplateColumn();
                    templateColumn.DataField = opisKolumny.Name;
                    templateColumn.Aggregate = (Telerik.Web.UI.GridAggregateFunction)opisKolumny.Aggregate;
                    if (string.IsNullOrEmpty(opisKolumny.DataTypeName) == false)
                    {
                        templateColumn.DataType = Type.GetType(opisKolumny.DataTypeName);
                    }
                    var typEnuma = Type.GetType(opisKolumny.DataTypeName);
                    templateColumn.EditItemTemplate = new EnumEditColumnTemplate(opisKolumny.Name, typEnuma);
                    templateColumn.ItemTemplate     = new EnumItemColumnTemplate(opisKolumny.Name);
                    templateColumn.FilterTemplate   = new EnumFilterColumnTemplate(opisKolumny.Name, typEnuma, page);
                    column = templateColumn;
                }


                column.UniqueName = opisKolumny.Name;

                column.HeaderText         = opisKolumny.GetReadableName();
                column.HeaderTooltip      = opisKolumny.ToolTip;
                column.FilterControlWidth = new Unit("80px");
                column.ReadOnly           = opisKolumny.ReadOnly;

                //boundColumn.ColumnEditorID = opisKolumny.ColumnEditorID;
                if (opisKolumny.Width != null)
                {
                    column.HeaderStyle.Width = new Unit(opisKolumny.Width.ToString());
                }
                //if (opisKolumny.NazwaTypuPola == "Decimal")
                //{

                //}
                if (opisKolumny.ShowColumnFilter)
                {
                    column.AutoPostBackOnFilter  = true;
                    column.CurrentFilterFunction = (Telerik.Web.UI.GridKnownFunction)opisKolumny.FilterFunction;
                    column.ShowFilterIcon        = false;

                    if (isPostBack == false)
                    {
                        column.CurrentFilterValue = opisKolumny.FilterDefaultValue;
                        if (string.IsNullOrEmpty(opisKolumny.FilterDefaultValue) == false)
                        {
                            var filtr = "([" + opisKolumny.Name + "] = '" + opisKolumny.FilterDefaultValue + "')";

                            if (string.IsNullOrEmpty(radGrid.MasterTableView.FilterExpression))
                            {
                                radGrid.MasterTableView.FilterExpression = filtr;
                            }
                            else
                            {
                                radGrid.MasterTableView.FilterExpression = radGrid.MasterTableView.FilterExpression +
                                                                           " AND " +
                                                                           filtr;
                            }
                        }
                    }
                }
                else
                {
                    column.AllowFiltering = false;
                }

                radGrid.MasterTableView.Columns.Add(column);
            }
        }
        public static void GenerateColumnsSfDataGrid(SfDataGrid dataGrid, DataTable table, string prefab)
        {
            using (var conn = new SqlConnection(App.ConnectionString))
            {
                conn.Open();
                if (!string.IsNullOrEmpty(prefab))
                {
                    DataTable prefabTable = App.GetPrefabDataTable(conn, $"{Settings.Default.Schema}_PREFABS", prefab);
                    DataTable comboTable  =
                        App.GetPrefabDataTable(conn, $"{Settings.Default.Schema}_COMBOBOXES", prefab);

                    //could loop by table.ColumnNames.Count; but if prebab is changed... problems; maybe not all columns showing
                    for (var i = 0; i < table.Columns.Count; i++)
                    {
                        GridColumn column;

                        try
                        {
                            if (prefabTable.Rows[i]["TYPES"].ToString().ToLower().Equals("autocomplete"))
                            {
                                column = new GridTemplateColumn
                                {
                                    MappingName = table.Columns[i].ColumnName,
                                    HeaderText  = prefabTable.Rows[i]["COLUMNS"].ToString()
                                };

                                var comboStrings = new HashSet <string>();
                                for (var j = 0; j < comboTable.Rows.Count; j++)
                                {
                                    if (!string.IsNullOrEmpty(
                                            comboTable.Rows[j][prefabTable.Rows[i]["COLUMNS"].ToString()].ToString()))
                                    {
                                        comboStrings.Add(comboTable.Rows[j][prefabTable.Rows[i]["COLUMNS"].ToString()]
                                                         .ToString());
                                    }
                                }

                                var autoCompleteElem = new FrameworkElementFactory(typeof(AutoComplete));

                                var autoCompleteItemsBind = new Binding
                                {
                                    Source = comboStrings,
                                    UpdateSourceTrigger   = UpdateSourceTrigger.PropertyChanged,
                                    BindsDirectlyToSource = true
                                };

                                var autoCompleteBind =
                                    new Binding(table.Columns[i].ColumnName)
                                {
                                    UpdateSourceTrigger = UpdateSourceTrigger.PropertyChanged,
                                    Mode = BindingMode.TwoWay,
                                    BindsDirectlyToSource = true
                                };

                                autoCompleteElem.SetValue(UIElement.FocusableProperty, true);
                                autoCompleteElem.SetValue(AutoComplete.IsDropDownOpenProperty, true);
                                autoCompleteElem.SetValue(ItemsControl.IsTextSearchEnabledProperty, true);
                                autoCompleteElem.SetValue(AutoComplete.IsAutoAppendProperty, true);
                                autoCompleteElem.SetValue(ItemsControl.IsTextSearchCaseSensitiveProperty, false);
                                autoCompleteElem.SetValue(AutoComplete.CustomSourceProperty, autoCompleteItemsBind);
                                autoCompleteElem.SetValue(AutoComplete.TextProperty, autoCompleteBind);
                                autoCompleteElem.SetValue(AutoComplete.CanResizePopupProperty, false);
                                //autoCompleteElem.SetValue(AutoComplete.IsFilterProperty, true);
                                autoCompleteElem.SetValue(AutoComplete.EnableSortingProperty, false);

                                var cellEditingTemplate =
                                    new DataTemplate(typeof(AutoComplete))
                                {
                                    VisualTree = autoCompleteElem
                                };
                                ((GridTemplateColumn)column).EditTemplate = cellEditingTemplate;

                                var defaultElement = new FrameworkElementFactory(typeof(TextBlock));

                                var bind = new Binding(table.Columns[i].ColumnName)
                                {
                                    UpdateSourceTrigger = UpdateSourceTrigger.PropertyChanged,
                                    Mode = BindingMode.TwoWay,
                                    BindsDirectlyToSource = true
                                };

                                defaultElement.SetValue(TextBlock.TextProperty, bind);
                                defaultElement.SetValue(FrameworkElement.VerticalAlignmentProperty,
                                                        VerticalAlignment.Center);

                                var defaultTemplate = new DataTemplate(typeof(TextBlock))
                                {
                                    VisualTree = defaultElement
                                };
                                ((GridTemplateColumn)column).CellTemplate = defaultTemplate;

                                dataGrid.Columns.Add(column);
                            }
                            else if (prefabTable.Rows[i]["TYPES"].ToString().ToLower().Equals("datepicker"))
                            {
                                column = new GridDateTimeColumn
                                {
                                    MappingName            = table.Columns[i].ColumnName,
                                    Pattern                = DateTimePattern.ShortDate,
                                    CanEdit                = true,
                                    AllowNullValue         = true,
                                    NullText               = string.Empty,
                                    AllowScrollingOnCircle = true,
                                    EnableBackspaceKey     = true,
                                    EnableDeleteKey        = true,
                                    ShowRepeatButton       = true,
                                    HeaderText             = prefabTable.Rows[i]["COLUMNS"].ToString()
                                };

                                dataGrid.Columns.Add(column);
                            }
                            else if (prefabTable.Rows[i]["TYPES"].ToString().ToLower().Equals("checkbox"))
                            {
                                column = new GridCheckBoxColumn
                                {
                                    MappingName  = table.Columns[i].ColumnName,
                                    IsThreeState = false,
                                    HeaderText   = prefabTable.Rows[i]["COLUMNS"].ToString()
                                };

                                dataGrid.Columns.Add(column);
                            }
                            else if (prefabTable.Rows[i]["TYPES"].ToString().ToLower().Equals("numeric"))
                            {
                                column = new GridNumericColumn
                                {
                                    MappingName          = table.Columns[i].ColumnName,
                                    HeaderText           = prefabTable.Rows[i]["COLUMNS"].ToString(),
                                    NumberDecimalDigits  = 3,
                                    NumberGroupSeparator = ","
                                };

                                dataGrid.Columns.Add(column);
                            }
                            else if (prefabTable.Rows[i]["TYPES"].ToString().ToLower().Equals("currency"))
                            {
                                column = new GridCurrencyColumn
                                {
                                    MappingName = table.Columns[i].ColumnName,
                                    HeaderText  = prefabTable.Rows[i]["COLUMNS"].ToString()
                                };

                                dataGrid.Columns.Add(column);
                            }
                            else if (prefabTable.Rows[i]["TYPES"].ToString().ToLower().Equals("hyperlink"))
                            {
                                column = new GridHyperlinkColumn
                                {
                                    MappingName = table.Columns[i].ColumnName,
                                    HeaderText  = prefabTable.Rows[i]["COLUMNS"].ToString()
                                };

                                dataGrid.Columns.Add(column);
                            }
                            else if (prefabTable.Rows[i]["TYPES"].ToString().ToLower().Equals("percentage"))
                            {
                                column = new GridPercentColumn
                                {
                                    MappingName = table.Columns[i].ColumnName,
                                    HeaderText  = prefabTable.Rows[i]["COLUMNS"].ToString()
                                };

                                dataGrid.Columns.Add(column);
                            }
                            else if (prefabTable.Rows[i]["TYPES"].ToString().ToLower().Equals("combobox"))
                            {
                                var comboStrings = new HashSet <string>();
                                for (var j = 0; j < comboTable.Rows.Count; j++)
                                {
                                    if (!string.IsNullOrEmpty(
                                            comboTable.Rows[j][prefabTable.Rows[i]["COLUMNS"].ToString()].ToString()))
                                    {
                                        comboStrings.Add(comboTable.Rows[j][prefabTable.Rows[i]["COLUMNS"].ToString()]
                                                         .ToString());
                                    }
                                }

                                column = new GridComboBoxColumn
                                {
                                    MappingName     = table.Columns[i].ColumnName,
                                    ItemsSource     = comboStrings,
                                    StaysOpenOnEdit = true,
                                    IsEditable      = true,
                                    HeaderText      = prefabTable.Rows[i]["COLUMNS"].ToString()
                                };

                                dataGrid.Columns.Add(column);
                            }
                            else
                            {
                                column = new GridTextColumn
                                {
                                    MappingName = table.Columns[i].ColumnName,
                                    HeaderText  = prefabTable.Rows[i]["COLUMNS"].ToString()
                                };

                                dataGrid.Columns.Add(column);
                            }
                        }
                        catch
                        {
                            column = new GridTextColumn
                            {
                                MappingName = table.Columns[i].ColumnName,
                                HeaderText  = table.Columns[i].ColumnName
                            };

                            dataGrid.Columns.Add(column);
                        }
                    }
                }
                else
                {
                    foreach (DataColumn column in table.Columns)
                    {
                        GridColumn gridColumn = new GridTextColumn
                        {
                            MappingName = column.ColumnName,
                            HeaderText  = column.ColumnName
                        };

                        dataGrid.Columns.Add(gridColumn);
                    }
                }

                conn.Close();
            }
        }
Exemple #30
0
        public async void InitStreamGrid()
        {
            var idLogin = await BlobCache.LocalMachine.GetObject <string>("loginCookie");

            string streamGridId = null;
            List <StreamGridItem> streamGrid = null;

            //Set the cookiee manually (propertie 'UseCookies = false')
            //Or use cookieContainer
            using (var client = new HttpClient(new HttpClientHandler {
                UseCookies = false
            }))
            {
                client.DefaultRequestHeaders.Add("Cookie", idLogin);
                var dashboardUrl = new Uri("http://app.casterstats.com/dashboard");
                var resp         = await client.GetAsync(dashboardUrl);

                string content = await resp.Content.ReadAsStringAsync();


                List <Dashboard> dashboards = JsonConvert.DeserializeObject <List <Dashboard> >(content);
                foreach (var dashboard in dashboards)
                {
                    streamGridId = dashboard.DashboardComponents.FirstOrDefault(x => x.Name.Equals("Stream Grid")).Id;
                }

                if (streamGridId != null)
                {
                    dashboardUrl = new Uri("http://app.casterstats.com/dashboard/component/streamgrid/" + streamGridId + "");
                    resp         = await client.GetAsync(dashboardUrl);

                    content = await resp.Content.ReadAsStringAsync();



                    streamGrid = JsonConvert.DeserializeObject <List <StreamGridItem> >(content);
                }
            }
            //Display the content
            Grid innerG = new Grid();

            SfDataGrid dataGrid = new SfDataGrid();

            StreamGridDataRepository streamGridData = new StreamGridDataRepository();

            if (streamGrid != null)
            {
                streamGridData.ListStreamGrid = streamGrid;

                dataGrid.AutoGenerateColumns = false;

                GridTextColumn name = new GridTextColumn();
                name.MappingName = "Name";
                name.HeaderText  = "Name";
                GridTextColumn channel = new GridTextColumn();
                channel.MappingName = "Channel";
                channel.HeaderText  = "Channel";
                GridImageColumn status = new GridImageColumn();
                status.MappingName = "StatusIcon";
                status.HeaderText  = "Status";
                GridTemplateColumn load = new GridTemplateColumn();
                load.MappingName  = "ProgressBarDisplay";
                load.CellTemplate = new DataTemplate(() =>
                {
                    var grid = new Grid();

                    var progressBar = new ProgressBar()
                    {
                        HeightRequest = 100,
                        WidthRequest  = 50
                    };
                    progressBar.SetBinding(ProgressBar.ProgressProperty, "Load");

                    Label label = new Label();

                    label.SetBinding(Label.TextProperty, "PercentProgressBar");
                    grid.Children.Add(progressBar);
                    grid.Children.Add(label);
                    return(new ViewCell()
                    {
                        View = grid
                    });
                });


                load.HeaderText = "Load";
                GridTextColumn count = new GridTextColumn();
                count.MappingName = "Count";
                count.HeaderText  = "Users";
                GridTextColumn max = new GridTextColumn();
                max.MappingName = "Max";
                max.HeaderText  = "Max";
                GridTextColumn bandwidth = new GridTextColumn();
                bandwidth.MappingName = "Bandwid";
                bandwidth.HeaderText  = "Bandwidth";


                dataGrid.Columns.Add(name);
                dataGrid.Columns.Add(channel);
                dataGrid.Columns.Add(status);
                dataGrid.Columns.Add(load);
                dataGrid.Columns.Add(count);
                dataGrid.Columns.Add(max);
                dataGrid.Columns.Add(bandwidth);


                dataGrid.ColumnSizer = ColumnSizer.Auto;

                dataGrid.ItemsSource  = streamGridData.GetStreamGridInfo();
                dataGrid.AllowSorting = true;
            }


            Content = dataGrid;


            //create the columns for the header


            //header.ColumnDefinitions = new ColumnDefinitionCollection
            //{
            //            new ColumnDefinition() { Width = new GridLength(120,GridUnitType.Absolute)},
            //            new ColumnDefinition() { Width = new GridLength(120,GridUnitType.Absolute)},
            //            new ColumnDefinition() { Width = new GridLength(120,GridUnitType.Absolute)},
            //            new ColumnDefinition() { Width = new GridLength(120,GridUnitType.Absolute)},
            //            new ColumnDefinition() { Width = new GridLength(120,GridUnitType.Absolute)},
            //            new ColumnDefinition() { Width = new GridLength(120,GridUnitType.Absolute)},
            //            new ColumnDefinition() { Width = new GridLength(120,GridUnitType.Absolute)}
            //};

            //header.RowDefinitions = new RowDefinitionCollection
            //{
            //            new RowDefinition() {Height = new GridLength(60,GridUnitType.Absolute)}

            //};
            ////Create frame for header
            //var name = new Frame
            //{
            //    OutlineColor = Color.Black,
            //    Content = new Label
            //    {
            //        Text = "Name",
            //        HorizontalOptions = LayoutOptions.Start,
            //        FontAttributes = FontAttributes.Bold,
            //        FontSize = 16
            //    }

            //};

            //var channel = new Frame
            //{
            //    OutlineColor = Color.Black,
            //    Content = new Label
            //    {
            //        Text = "Channel",
            //        HorizontalOptions = LayoutOptions.Start,
            //        FontAttributes = FontAttributes.Bold,
            //        FontSize = 16
            //    }

            //};

            //var status = new Frame
            //{
            //    OutlineColor = Color.Black,
            //    Content = new Label
            //    {
            //        Text = "Status",
            //        HorizontalOptions = LayoutOptions.Start,
            //        FontAttributes = FontAttributes.Bold,
            //        FontSize = 16
            //    }

            //};

            //var load = new Frame
            //{
            //    OutlineColor = Color.Black,
            //    Content = new Label
            //    {
            //        Text = "Load %",
            //        HorizontalOptions = LayoutOptions.Start,
            //        FontAttributes = FontAttributes.Bold,
            //        FontSize = 16
            //    }

            //};

            //var user = new Frame
            //{
            //    OutlineColor = Color.Black,
            //    Content = new Label
            //    {
            //        Text = "Users",
            //        HorizontalOptions = LayoutOptions.Start,
            //        FontAttributes = FontAttributes.Bold,
            //        FontSize = 16
            //    }

            //};

            //var max = new Frame
            //{
            //    OutlineColor = Color.Black,
            //    Content = new Label
            //    {
            //        Text = "Max",
            //        HorizontalOptions = LayoutOptions.Start,
            //        FontAttributes = FontAttributes.Bold,
            //        FontSize = 16
            //    }

            //};

            //var bandwidth = new Frame
            //{
            //    OutlineColor = Color.Black,
            //    Content = new Label
            //    {
            //        Text = "Bandwidth",
            //        HorizontalOptions = LayoutOptions.Start,
            //        FontAttributes = FontAttributes.Bold,
            //        FontSize = 16
            //    }

            //};

            ////add frame to header
            //header.Children.Add(name, 0, 0);
            //header.Children.Add(channel, 1, 0);
            //header.Children.Add(status, 2, 0);
            //header.Children.Add(load, 3, 0);
            //header.Children.Add(user, 4, 0);
            //header.Children.Add(max, 5, 0);
            //header.Children.Add(bandwidth, 6, 0);


            ////create columns for the rows
            //innerG.ColumnDefinitions = new ColumnDefinitionCollection()
            //{
            //            new ColumnDefinition() {  Width = new GridLength(120,GridUnitType.Absolute)},
            //            new ColumnDefinition() {  Width = new GridLength(120,GridUnitType.Absolute)},
            //            new ColumnDefinition() {  Width = new GridLength(120,GridUnitType.Absolute)},
            //            new ColumnDefinition() {  Width = new GridLength(120,GridUnitType.Absolute)},
            //            new ColumnDefinition() {  Width = new GridLength(120,GridUnitType.Absolute)},
            //            new ColumnDefinition() {  Width = new GridLength(120,GridUnitType.Absolute)},
            //            new ColumnDefinition() {  Width = new GridLength(120,GridUnitType.Absolute)}


            //};

            //innerG.RowDefinitions = new RowDefinitionCollection();
            ////create a new row for each object in playerItem
            //if (streamGrid != null)
            //{
            //    for (int i = 0; i < streamGrid.Count; i++)
            //    {
            //        Image icon = new Image();

            //        innerG.RowDefinitions.Add(new RowDefinition() { Height = new GridLength(35, GridUnitType.Absolute) });
            //        innerG.Children.Add(new Label() { Text = streamGrid[i].Name, HorizontalOptions = LayoutOptions.Start }, 0, i);
            //        innerG.Children.Add(new Label() { Text = streamGrid[i].Channel, HorizontalOptions = LayoutOptions.Start }, 1, i);
            //        if (streamGrid[i].Status == 0)
            //        {

            //            icon.Source = ImageSource.FromFile("warningIcon.jpg");
            //            innerG.Children.Add(icon, 2, i);

            //            innerG.Children.Add(new Label()
            //            {
            //                Text = "Unknown",
            //                HorizontalOptions = LayoutOptions.End
            //            }, 2, i);
            //        }
            //        if (streamGrid[i].Status == 3)
            //        {
            //            icon.Source = ImageSource.FromFile("selectIcon.png");
            //            innerG.Children.Add(icon, 2, i);
            //            innerG.Children.Add(new Label()
            //            {
            //                Text = "Up",
            //                HorizontalOptions = LayoutOptions.End
            //            }, 2, i);
            //        }

            //        innerG.Children.Add(new ProgressBar()
            //        {
            //            Progress = streamGrid[i].Load,
            //            WidthRequest = 100,
            //            HeightRequest = 100

            //        }, 3, i);
            //        innerG.Children.Add(new Label() { Text = streamGrid[i].Count.ToString(), HorizontalOptions = LayoutOptions.Start }, 4, i);
            //        innerG.Children.Add(new Label() { Text = streamGrid[i].Max.ToString(), HorizontalOptions = LayoutOptions.Start }, 5, i);
            //        if (streamGrid[i].Bandwidth >= 1000)
            //        {
            //            double mb = streamGrid[i].Bandwidth / 1024f;
            //            innerG.Children.Add(
            //                new Label()
            //                {
            //                    Text = mb + " mbps",
            //                    HorizontalOptions = LayoutOptions.Start
            //                }, 6, i);
            //        }
            //        else
            //        {
            //            innerG.Children.Add(
            //                new Label()
            //                {
            //                    Text = streamGrid[i].Bandwidth + " kbps",
            //                    HorizontalOptions = LayoutOptions.Start
            //                }, 6, i);

            //        }
            //    }
            //}

            //sc.Scrolled += (object sender, ScrolledEventArgs e) =>
            //{
            //    scHeadInner.ScrollToAsync(e.ScrollX, 0, false);
            //};

            //scHeadInner.Content = header;
            //sc.Content = innerG;
            //s.Children.Add(scHeadInner); //header grid view in stackLayout
            //s.Children.Add(sc); // scrollview in stackLayout


            //Content = s; //page content = stacklayout
        }