Esempio n. 1
0
File: Csv.cs Progetto: yarivat/Admin
        public DataTable ExportToDataTable(DataView dataView, View view, string[] roles, ITableViewer tableViewer, string guid)
        {
            DataTable csvDataTable = new DataTable();

            string columnHeader = string.Empty;

            foreach (Field field in view.Fields.Values.OrderBy(f => f.Order))
            {
                if (!field.IsHiddenInTable() && !IsDenied(field.DenySelectRoles, roles))//&& field.FieldType != FieldType.Children
                {
                    if (tableViewer == null)
                    {
                        columnHeader = field.DisplayName;
                    }
                    else
                    {
                        columnHeader = tableViewer.GetDisplayName(field, null, guid);
                    }
                    if (field.Equals(view.Fields.First()) && columnHeader.ToLower() == "id")
                    {
                        columnHeader = "_" + columnHeader;
                    }

                    csvDataTable.Columns.Add(columnHeader, typeof(string));
                }
            }


            foreach (DataRowView row in dataView)
            {
                DataRow newRow = csvDataTable.NewRow();

                int i = 0;

                foreach (Durados.Field field in view.Fields.Values.OrderBy(f => f.Order))
                {
                    if (!field.IsHiddenInTable() && !IsDenied(field.DenySelectRoles, roles)) //&& field.FieldType != FieldType.Children
                    {
                        newRow[i] = tableViewer.GetFieldDisplayValue(field, row.Row, true);
                        //newRow[i] = field.ConvertToString(row.Row);
                        i++;
                    }
                }

                csvDataTable.Rows.Add(newRow);
            }


            return(csvDataTable);
        }
Esempio n. 2
0
File: Csv.cs Progetto: yarivat/Admin
        private string GetColumnsHeaders(View view, string[] roles, ITableViewer tableViewer, string guid, bool withSubgrids, Dictionary <string, DataView> SubGrids, bool isSubGrid)
        {
            string header = string.Empty;

            string columnHeader = string.Empty;

            Dictionary <string, Field> excluded = new Dictionary <string, Field>();

            foreach (Field field in view.Fields.Values.OrderBy(f => f.Order))
            {
                if (!field.IsHiddenInTable() && !IsDenied(field.DenySelectRoles, roles) && tableViewer.IsVisible(field, excluded, guid))
                {
                    if (field.FieldType == FieldType.Children && field.GetFieldControlType() != "CheckList")
                    {
                        ChildrenField c_field = (ChildrenField)field;

                        if (withSubgrids && (c_field.SubGridExport))
                        {
                            View c_view = (View)c_field.ChildrenView;

                            DataView c_grid = SubGrids[c_view.Name];

                            tableViewer.DataView = c_grid;

                            header += GetColumnsHeaders(c_view, roles, tableViewer, "", false, null, true);
                        }
                    }
                    else
                    {
                        columnHeader = tableViewer.GetDisplayName(field, null, guid);

                        if (field.Equals(view.Fields.First()) && columnHeader.ToLower() == "id")
                        {
                            columnHeader = " " + columnHeader;
                        }

                        if (isSubGrid)
                        {
                            header += view.DisplayName + " ";
                        }

                        header += ValidCsvContent(columnHeader, false) + charDelimeter;
                    }
                }
            }
            return(header);
        }