Esempio n. 1
0
        private void BindToGrid_Execute(object sender, SimpleActionExecuteEventArgs e)
        {
            ReportCentral rc       = (ReportCentral)View.CurrentObject;
            GridForm      gridForm = new GridForm();

            gridForm.LayoutData        = rc.GridViewXML;
            gridForm.DefaultLayoutData = rc.GridViewXML;
            if (rc.ReportCentralLayoutData.Count > 0)
            {
                foreach (ReportCentralLayoutData layout in rc.ReportCentralLayoutData)
                {
                    if (layout.Owner.Oid.ToString() == SecuritySystem.CurrentUserId.ToString())
                    {
                        gridForm.LayoutData = layout.GridLayout;
                    }
                }
            }
            gridForm.ConnectionString = rc.Connection.ConnectionString;
            gridForm.QueryString      = rc.QueryString;
            gridForm.ReportName       = rc.Name;
            if (rc.CreatedBy.Oid.ToString() == SecuritySystem.CurrentUserId.ToString())
            {
                gridForm.IsOwner = true;
            }
            List <ParameterDefinition> list = new List <ParameterDefinition>();

            rc.Parameters.Sorting.Add(new SortProperty("ParameterIndex", DevExpress.Xpo.DB.SortingDirection.Ascending));
            if (rc.Parameters.Count > 0)
            {
                foreach (ReportParameter param in rc.Parameters)
                {
                    ParameterDefinition definition = new ParameterDefinition()
                    {
                        ParameterCaption      = param.Caption,
                        ParameterName         = param.Name,
                        ParameterPropertyType = param.ParameterType.Type,
                        ParameterDefaultValue = param.DefaultValue,
                        ParameterIndex        = param.ParameterIndex
                    };

                    if (param.ParameterType.Type == BusinessObjects.ParameterPropertyType.DataSource)
                    {
                        definition.ParameterConnection  = param.ParameterType.Connection.ConnectionString;
                        definition.ParameterQueryString = param.ParameterType.QueryString;
                    }
                    list.Add(definition);
                }
                gridForm.ParameterDefinition = list;
            }
            gridForm.Save += GridForm_Save;
            gridForm.SaveDefaultLayout += GridForm_SaveDefaultLayout;
            gridForm.ShowGridForm();
        }