Skip to content

Commit a405f14

Browse files
committed
Added more features about Layout in Results. #962
1 parent 11d15d5 commit a405f14

File tree

2 files changed

+79
-20
lines changed

2 files changed

+79
-20
lines changed

FetchXmlBuilder/DockControls/ResultGrid.Designer.cs

+45-13
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

FetchXmlBuilder/DockControls/ResultGrid.cs

+34-7
Original file line numberDiff line numberDiff line change
@@ -90,11 +90,18 @@ internal void ApplySettingsToGrid()
9090
mnuQuickFilter.Checked = form.settings.Results.QuickFilter;
9191
mnuPagingCookie.Checked = form.settings.Results.PagingCookie;
9292

93-
mnuIdCol.Enabled = !form.settings.Results.WorkWithLayout;
94-
mnuIndexCol.Enabled = !form.settings.Results.WorkWithLayout;
95-
mnuNullCol.Enabled = !form.settings.Results.WorkWithLayout;
96-
mnuSysCol.Enabled = !form.settings.Results.WorkWithLayout;
97-
93+
mnuIdCol.Visible = !form.settings.Results.WorkWithLayout;
94+
mnuIndexCol.Visible = !form.settings.Results.WorkWithLayout;
95+
mnuNullCol.Visible = !form.settings.Results.WorkWithLayout;
96+
mnuSysCol.Visible = !form.settings.Results.WorkWithLayout;
97+
mnuResetLayout.Visible = form.settings.Results.WorkWithLayout && !string.IsNullOrWhiteSpace(crmGridView1.LayoutXML);
98+
mnuShowAllCol.Visible = form.settings.Results.WorkWithLayout;
99+
mnuShowLayoutXML.Visible = form.settings.Results.WorkWithLayout;
100+
101+
if (!form.settings.Results.WorkWithLayout)
102+
{
103+
crmGridView1.LayoutXML = null;
104+
}
98105
crmGridView1.ShowFriendlyNames = mnuFriendly.Checked;
99106
crmGridView1.ShowBothNames = mnuBothNames.Checked;
100107
crmGridView1.ShowIdColumn = mnuIdCol.Checked;
@@ -107,7 +114,6 @@ internal void ApplySettingsToGrid()
107114
crmGridView1.Service = form.Service;
108115
panQuickFilter.Visible = mnuQuickFilter.Checked;
109116
gbPagingCookie.Visible = mnuPagingCookie.Checked;
110-
mnuResetLayout.Visible = form.settings.Results.WorkWithLayout;
111117
RefreshData();
112118
}
113119

@@ -164,6 +170,10 @@ private void ShowHiddenColumns()
164170
.Where(c => !c.Name.StartsWith("#") && !c.Visible)
165171
.ToList()
166172
.ForEach(c => c.Visible = true);
173+
crmGridView1.Columns.Cast<DataGridViewColumn>()
174+
.Where(c => c.Visible && c.Width < 10)
175+
.ToList()
176+
.ForEach(c => c.Width = 100);
167177
}
168178

169179
internal void SetQueryIfChangesDesign()
@@ -176,7 +186,7 @@ internal void SetQueryIfChangesDesign()
176186

177187
internal void SetLayoutToGrid()
178188
{
179-
if (form.dockControlBuilder?.LayoutXML?.Cells == null)
189+
if (!form.settings.Results.WorkWithLayout || form.dockControlBuilder?.LayoutXML?.Cells == null)
180190
{
181191
return;
182192
}
@@ -408,5 +418,22 @@ private void mnuPage_KeyPress(object sender, KeyPressEventArgs e)
408418
mnuRecordsNumbers.Focus();
409419
}
410420
}
421+
422+
private void mnuAutoSizeAll_Click(object sender, EventArgs e)
423+
{
424+
crmGridView1.AutoResizeColumns(DataGridViewAutoSizeColumnsMode.DisplayedCells);
425+
GetLayoutFromGrid();
426+
}
427+
428+
private void mnuShowAllCol_Click(object sender, EventArgs e)
429+
{
430+
ShowHiddenColumns();
431+
GetLayoutFromGrid();
432+
}
433+
434+
private void mnuShowLayoutXML_Click(object sender, EventArgs e)
435+
{
436+
form.ShowLayoutXML();
437+
}
411438
}
412439
}

0 commit comments

Comments
 (0)