Skip to content

Commit

Permalink
Added disabled for checklist menustrip zone
Browse files Browse the repository at this point in the history
  • Loading branch information
davidegironi committed Feb 23, 2018
1 parent 80b4c93 commit 52e6475
Show file tree
Hide file tree
Showing 7 changed files with 115 additions and 2 deletions.
45 changes: 45 additions & 0 deletions AdvancedDataGridView/AdvancedDataGridView.cs
Original file line number Diff line number Diff line change
Expand Up @@ -144,6 +144,51 @@ public void SetFilterAndSortEnabled(DataGridViewColumn column, bool enabled)
DisableFilterAndSort(column);
}

/// <summary>
/// Disable a Filter checklist on a DataGridViewColumn
/// </summary>
/// <param name="column"></param>
public void DisableFilterChecklist(DataGridViewColumn column)
{
if (Columns.Contains(column))
{
ColumnHeaderCell cell = column.HeaderCell as ColumnHeaderCell;
if (cell != null)
{
cell.SetFilterChecklistEnabled(false);
}
}
}

/// <summary>
/// Enable a Filter checklist on a DataGridViewColumn
/// </summary>
/// <param name="column"></param>
public void EnableFilterChecklist(DataGridViewColumn column)
{
if (Columns.Contains(column))
{
ColumnHeaderCell cell = column.HeaderCell as ColumnHeaderCell;
if (cell != null)
{
cell.SetFilterChecklistEnabled(true);
}
}
}

/// <summary>
/// Enabled or disable Filter checklist capabilities on a DataGridViewColumn
/// </summary>
/// <param name="column"></param>
/// <param name="enabled"></param>
public void SetFilterChecklistEnabled(DataGridViewColumn column, bool enabled)
{
if (enabled)
EnableFilterChecklist(column);
else
DisableFilterChecklist(column);
}

/// <summary>
/// Load a Filter and Sort preset
/// </summary>
Expand Down
29 changes: 29 additions & 0 deletions AdvancedDataGridView/ColumnHeaderCell.cs
Original file line number Diff line number Diff line change
Expand Up @@ -84,6 +84,7 @@ public ColumnHeaderCell(DataGridViewColumnHeaderCell oldCell, bool filterEnabled
IsFilterDateAndTimeEnabled = FilterDateAndTimeDefaultEnabled;
IsSortEnabled = true;
IsFilterEnabled = true;
IsFilterChecklistEnabled = true;
}
~ColumnHeaderCell()
{
Expand Down Expand Up @@ -312,6 +313,21 @@ public bool IsFilterEnabled
}
}

/// <summary>
/// Get or Set the Filter enabled status
/// </summary>
public bool IsFilterChecklistEnabled
{
get
{
return MenuStrip.IsFilterChecklistEnabled;
}
set
{
MenuStrip.IsFilterChecklistEnabled = value;
}
}

/// <summary>
/// Get or Set the FilterDateAndTime enabled status
/// </summary>
Expand Down Expand Up @@ -383,6 +399,19 @@ public void SetFilterEnabled(bool enabled)
}
}

/// <summary>
/// Enable or disable Filter checklist capabilities
/// </summary>
/// <param name="enabled"></param>
public void SetFilterChecklistEnabled(bool enabled)
{
if (MenuStrip != null)
{
MenuStrip.IsFilterChecklistEnabled = enabled;
MenuStrip.SetFilterChecklistEnabled(enabled);
}
}

/// <summary>
/// Enable or disable Text filter on checklist remove node mode
/// </summary>
Expand Down
40 changes: 39 additions & 1 deletion AdvancedDataGridView/MenuStrip.cs
Original file line number Diff line number Diff line change
Expand Up @@ -97,6 +97,7 @@ public MenuStrip(Type dataType)
_textStrings.Add("BUTTONCANCEL", "Cancel");
_textStrings.Add("NODESELECTALL", "(Select All)");
_textStrings.Add("NODESELECTEMPTY", "(Blanks)");
_textStrings.Add("FILTERCHECKLISTDISABLED", "Filter list is disabled");

//initialize components
InitializeComponent();
Expand Down Expand Up @@ -148,6 +149,12 @@ public MenuStrip(Type dataType)
//set default NOT IN logic
IsFilterNOTINLogicEnabled = false;

//sent enablers default
IsSortEnabled = true;
IsFilterEnabled = true;
IsFilterChecklistEnabled = true;
IsFilterDateAndTimeEnabled = true;

//set default compoents
customFilterLastFiltersListMenuItem.Enabled = DataType != typeof(bool);
customFilterLastFiltersListMenuItem.Checked = ActiveFilterType == FilterType.Custom;
Expand Down Expand Up @@ -267,10 +274,15 @@ public FilterType ActiveFilterType
public bool IsSortEnabled { get; set; }

/// <summary>
/// Get or Set the Filter Sort enabled
/// Get or Set the Filter enabled
/// </summary>
public bool IsFilterEnabled { get; set; }

/// <summary>
/// Get or Set the Filter Checklist enabled
/// </summary>
public bool IsFilterChecklistEnabled { get; set; }

/// <summary>
/// Get or Set the Filter DateAndTime enabled
/// </summary>
Expand Down Expand Up @@ -336,6 +348,29 @@ public void SetFilterEnabled(bool enabled)
customFilterLastFiltersListMenuItem.Enabled = false;
}

/// <summary>
/// Enable or disable Filter checklistcapabilities
/// </summary>
/// <param name="enabled"></param>
public void SetFilterChecklistEnabled(bool enabled)
{
if (!IsFilterEnabled)
enabled = false;

IsFilterChecklistEnabled = enabled;
checkList.Enabled = enabled;
checkTextFilter.ReadOnly = !enabled;

if (!IsFilterChecklistEnabled)
{
checkList.BeginUpdate();
checkList.Nodes.Clear();
TreeNodeItemSelector disablednode = TreeNodeItemSelector.CreateNode(_textStrings["FILTERCHECKLISTDISABLED"].ToString() + " ", null, CheckState.Checked, TreeNodeItemSelector.CustomNodeType.SelectAll);
disablednode.NodeFont = new Font(checkList.Font, FontStyle.Bold);
checkList.Nodes.Add(disablednode);
}
}

#endregion


Expand Down Expand Up @@ -760,6 +795,9 @@ private string FormatFilterString(string text)
/// <param name="vals"></param>
private void BuildNodes(IEnumerable<DataGridViewCell> vals)
{
if (!IsFilterChecklistEnabled)
return;

checkList.BeginUpdate();
checkList.Nodes.Clear();

Expand Down
Binary file modified AdvancedDataGridView/Properties/AssemblyInfo.cs
Binary file not shown.
1 change: 1 addition & 0 deletions AdvancedDataGridViewSample/FormMain.cs
Original file line number Diff line number Diff line change
Expand Up @@ -109,6 +109,7 @@ private void FormMain_Load(object sender, EventArgs e)
advancedDataGridView_main.DisableFilterAndSort(advancedDataGridView_main.Columns["int"]);
advancedDataGridView_main.SetFilterDateAndTimeEnabled(advancedDataGridView_main.Columns["datetime"], true);
advancedDataGridView_main.SetSortEnabled(advancedDataGridView_main.Columns["guid"], false);
advancedDataGridView_main.SetFilterChecklistEnabled(advancedDataGridView_main.Columns["guid"], false);
advancedDataGridView_main.SortDESC(advancedDataGridView_main.Columns["double"]);
advancedDataGridView_main.SetTextFilterRemoveNodesOnSearch(advancedDataGridView_main.Columns["double"], false);
advancedDataGridView_main.SetChecklistTextFilterRemoveNodesOnSearchMode(advancedDataGridView_main.Columns["decimal"], false);
Expand Down
Binary file modified AdvancedDataGridViewSample/Properties/AssemblyInfo.cs
Binary file not shown.
2 changes: 1 addition & 1 deletion _DevTools/AutoBuilder.config.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ $solutionName = "AdvancedDataGridView"
$versionMajor = "1"
$versionMinor = "0"
$versionBuild = GetVersionBuild
$versionRevision = "20"
$versionRevision = "21"
#build version number
$assemblyVersion = GetVersion $versionMajor $versionMinor $versionBuild $versionRevision
$fileVersion = $assemblyVersion
Expand Down

0 comments on commit 52e6475

Please sign in to comment.