예제 #1
0
        public void GetXColumns(CustomColumnRequest request)
        {
            ColumnCollection <Association <T> > results = request.Results.Cast <Association <T> >();

            // Add association as-is (don't include a folder before it!)
            results.AddRange(ColumnManager.AddSubObject <Association <T> >(EColumn.Advanced, EColumn.Visible, request.Core, "", z => z.Associated, typeof(T)));

            // Add extra columns from original request
            if (this.OriginalRequest?.ExtraColumns != null)
            {
                for (int n = 0; n < this.OriginalRequest.ExtraColumns.Count; ++n)
                {
                    int closure = n;
                    Tuple <string, string> c = this.OriginalRequest.ExtraColumns[n];

                    results.Add(new Column <Association <T> >(c.Item1, EColumn.Visible, c.Item2, z => z.GetExtraColumnValue(closure), z => Color.Blue));
                }
            }

            request.NoAutomaticColumns = true; // Else conflicts
        }