|
@@ -893,25 +893,35 @@ public abstract class DynamicGrid<T> : DynamicGrid, IDynamicGridUIComponentParen
|
|
|
return GenerateColumns();
|
|
|
}
|
|
|
|
|
|
+ /// <summary>
|
|
|
+ /// Create a set of <see cref="DynamicGridColumns"/> according to the natural default sizes and formats and captions, based on the contents of <paramref name="columns"/>.
|
|
|
+ /// </summary>
|
|
|
+ /// <param name="columns"></param>
|
|
|
+ /// <returns></returns>
|
|
|
+ protected DynamicGridColumns ExtractColumns(Columns<T> columns)
|
|
|
+ {
|
|
|
+ var cols = new DynamicGridColumns();
|
|
|
+
|
|
|
+ foreach (var col in columns)
|
|
|
+ {
|
|
|
+ var mc = MasterColumns.FirstOrDefault(x => x.ColumnName.Equals(col.Property));
|
|
|
+ if (mc != null && mc.Editor is not NullEditor && mc.Editor.Visible != Visible.Hidden)
|
|
|
+ cols.Add(mc);
|
|
|
+ }
|
|
|
+
|
|
|
+ return cols;
|
|
|
+ }
|
|
|
|
|
|
/// <summary>
|
|
|
/// Provide a set of columns which is the default for this grid.
|
|
|
/// </summary>
|
|
|
public virtual DynamicGridColumns GenerateColumns()
|
|
|
{
|
|
|
- var columns = new DynamicGridColumns();
|
|
|
-
|
|
|
var cols = IsDirectEditMode()
|
|
|
? new Columns<T>(ColumnTypeFlags.IncludeVisible | ColumnTypeFlags.IncludeForeignKeys)
|
|
|
: new Columns<T>(ColumnTypeFlags.IncludeVisible | ColumnTypeFlags.IncludeLinked);
|
|
|
|
|
|
- foreach (var col in cols)
|
|
|
- {
|
|
|
- var mc = MasterColumns.FirstOrDefault(x => x.ColumnName.Equals(col.Property));
|
|
|
- if (mc != null && mc.Editor is not NullEditor && mc.Editor.Visible != Visible.Hidden)
|
|
|
- columns.Add(mc);
|
|
|
- }
|
|
|
- return columns;
|
|
|
+ return ExtractColumns(cols);
|
|
|
}
|
|
|
|
|
|
private bool SwapRows(int row1, int row2)
|