Przeglądaj źródła

Tweaked FastReports "View Data" option in Report Designer for performance with may-columned tables

frogsoftware 2 miesięcy temu
rodzic
commit
ba58514a84

+ 9 - 2
fastreports.wpf/FastReport.Forms.WPF/Controls/DataGridViewCell.cs

@@ -12,8 +12,15 @@ namespace System.Windows.Forms
             get
             {
                 object value = null;
-                if (row.data is IList list)
-                    value = list[index];
+                try
+                {
+
+                }
+                catch (Exception e)
+                {
+                    if (row.data is IList list)
+                        value = list[index];
+                }
                 return value;
             }
             set

+ 11 - 7
fastreports.wpf/FastReport/Forms/DataViewForm.cs

@@ -108,14 +108,18 @@ namespace FastReport.Forms
                 {
                     grid.Columns.Clear();
                     grid.Rows.Clear();
-                    for (int i = 0; i < 655; i++)
+                    int i = 0;
+                    while (i < Math.Min(655,table.Columns.Count))
                     {
-                        DataColumn col = table.Columns[i];
-                        DataGridViewTextBoxColumn dc = new DataGridViewTextBoxColumn();
-                        dc.Frozen = false;
-                        dc.HeaderText = col.ColumnName;
-                        grid.Columns.Add(dc);
-
+                        if (data.Columns[i].Enabled)
+                        {
+                            DataColumn col = table.Columns[i];
+                            DataGridViewTextBoxColumn dc = new DataGridViewTextBoxColumn();
+                            dc.Frozen = false;
+                            dc.HeaderText = col.ColumnName;
+                            grid.Columns.Add(dc);
+                        }
+                        i++;
                     }
                     foreach (DataRow row in table.Rows)
                     {