private void UpdateSublistCombo() { var availableSublists = new HashSet <IdentifierPath>(); availableSublists.Add(IdentifierPath.Root); foreach (var columnSpec in ViewSpec.Columns) { for (IdentifierPath idPath = columnSpec.IdentifierPath; !idPath.IsRoot; idPath = idPath.Parent) { if (idPath.Name == null) { if (!availableSublists.Add(idPath)) { break; } } } } if (availableSublists.Count == 0) { groupBoxSublist.Visible = false; return; } groupBoxSublist.Visible = true; var sublistIdArray = availableSublists.ToArray(); Array.Sort(sublistIdArray); comboSublist.Items.Clear(); foreach (var idPath in sublistIdArray) { string label = idPath.IsRoot ? "<none>" : idPath.ToString(); comboSublist.Items.Add(new SublistItem(label, idPath)); if (Equals(idPath, ViewSpec.SublistId)) { comboSublist.SelectedIndex = comboSublist.Items.Count - 1; } } }
public String ToString(String separator) { return(IdFolder.ToString() + separator + Type.ToString() + separator + ItemsOrderBy.ToString() + separator + Ascending.ToString() + separator + (String.IsNullOrEmpty(IdentifierPath) ? "": IdentifierPath.ToString()) + separator + Repository.ToString(separator)); }