diff --git a/ClosedXML/Excel/XLWorkbook_Save.cs b/ClosedXML/Excel/XLWorkbook_Save.cs index 61ddb9e..2a8d818 100644 --- a/ClosedXML/Excel/XLWorkbook_Save.cs +++ b/ClosedXML/Excel/XLWorkbook_Save.cs @@ -2508,6 +2508,24 @@ .ToList(); var selectedValue = Convert.ToDouble(labelOrFilterField.SelectedValues.Single()); if (values.Contains(selectedValue)) + pageField.Item = Convert.ToUInt32(values.IndexOf(selectedValue)); + } + else if (ptfi.DataType == XLDataType.Boolean) + { + var values = ptfi.DistinctValues + .Select(v => Convert.ToBoolean(v)) + .ToList(); + var selectedValue = Convert.ToBoolean(labelOrFilterField.SelectedValues.Single()); + if (values.Contains(selectedValue)) + pageField.Item = Convert.ToUInt32(values.IndexOf(selectedValue)); + } + else if (ptfi.DataType == XLDataType.TimeSpan) + { + var values = ptfi.DistinctValues + .Cast() + .ToList(); + var selectedValue = (TimeSpan)labelOrFilterField.SelectedValues.Single(); + if (values.Contains(selectedValue)) pageField.Item = Convert.ToUInt32(values.IndexOf(selectedValue)); } else