private void AddButton_Click(object sender, RoutedEventArgs e) { if (ViewComboBox.SelectedItem == null) { return; } TreeViewItem selectedTreeViewItem = null; IQueryPanel masterQueryPanel = null; Guid masterViewRelationID = Guid.Empty; if (ViewRelationsTreeView.SelectedItem != null) { selectedTreeViewItem = (TreeViewItem)ViewRelationsTreeView.SelectedItem; Guid detailQueryPanelID = ((ViewRelation)selectedTreeViewItem.Tag).DetailQueryPanelID; masterViewRelationID = ((ViewRelation)selectedTreeViewItem.Tag).ID; masterQueryPanel = ApplicationContext.Current.SPCamlStudio.QueriesPanel.GetQueryPanel(detailQueryPanelID); //masterQueryPanel = (IQueryPanel)selectedTreeViewItem.Tag; } ComboBoxItem selectedComboBoxItem = (ComboBoxItem)ViewComboBox.SelectedItem; IQueryPanel detailQueryPanel = (IQueryPanel)selectedComboBoxItem.Tag; ViewRelation viewRelation = ViewRelation.NewViewRelation(); viewRelation.MasterViewRelationID = masterViewRelationID; viewRelation.DetailQueryPanelID = detailQueryPanel.ID; viewRelation.Name = detailQueryPanel.FileName; viewRelation.DetailSiteUrl = detailQueryPanel.AttachedObject.GetWebUrl(); viewRelation.DetailListName = detailQueryPanel.AttachedObject.GetListName(); if (selectedComboBoxItem.Parent == null) { viewRelation.IsRoot = true; } TreeViewItem newTreeViewItem = new TreeViewItem() { Header = viewRelation.Name, Tag = viewRelation }; if (selectedTreeViewItem == null) { ViewRelationsTreeView.Items.Add(newTreeViewItem); } else { ViewRelationForm viewRelationForm = new ViewRelationForm(); viewRelationForm.Initialize(masterQueryPanel, detailQueryPanel); viewRelationForm.Tag = viewRelation; if (viewRelationForm.ShowDialog(this.ParentWindow, "View Relation") == true) { selectedTreeViewItem.Items.Add(newTreeViewItem); } } }
private string GenerateGridsScript(ItemCollection items) { StringBuilder sb = new StringBuilder(); foreach (object t in items) { TreeViewItem treeviewItem = (TreeViewItem)t; ViewRelation viewRelation = (ViewRelation)treeviewItem.Tag; IQueryPanel queryPanel = ApplicationContext.Current.SPCamlStudio.QueriesPanel.GetQueryPanel(viewRelation.DetailQueryPanelID); string appendix = viewRelation.ID.ToString().Replace('-', '_'); sb.AppendLine("var dataSourceBuilder" + appendix + " = new soby_CamlBuilder('" + viewRelation.DetailListName + "', '', 5, '" + viewRelation.DetailSiteUrl + "');"); sb.AppendLine("dataSourceBuilder" + appendix + ".Filters = new CamlFilters(false);"); sb.AppendLine("var spService" + appendix + " = new soby_SharePointService(dataSourceBuilder" + appendix + ");"); sb.AppendLine("var sobyGrid" + appendix + " = new soby_DataGrid('#soby_GridDiv" + appendix + "', '" + viewRelation.DetailListName + "', spService" + appendix + ", 'There is no record found.')"); List <CamlFieldRef> viewFields = queryPanel.GetViewFields(); foreach (CamlFieldRef viewField in viewFields) { sb.AppendLine("dataSourceBuilder" + appendix + ".AddViewField('" + viewField.Name + "', '" + viewField.Name + "', CamlFieldTypes.Text);"); sb.AppendLine("sobyGrid" + appendix + ".AddColumn('" + viewField.Name + "', '" + viewField.DisplayName + "');"); } foreach (object z in treeviewItem.Items) { TreeViewItem treeviewItem1 = (TreeViewItem)z; ViewRelation viewRelation1 = (ViewRelation)treeviewItem1.Tag; if ((from h in viewFields where h.Name == viewRelation1.MasterFieldValueName select h).ToList().Count == 0) { sb.AppendLine("dataSourceBuilder" + appendix + ".AddViewField('" + viewRelation1.MasterFieldValueName + "', '" + viewRelation1.MasterFieldValueName + "', CamlFieldTypes.Text);"); } } if (string.IsNullOrEmpty(viewRelation.MasterFieldDisplayName) == false) { sb.AppendLine("sobyGrid" + viewRelation.MasterViewRelationID.ToString().Replace('-', '_') + ".AddDataRelation('" + viewRelation.MasterFieldDisplayName + "', '" + viewRelation.MasterFieldValueName + "', sobyGrid" + appendix + ".GridID, '" + viewRelation.DetailFieldName + "')"); } else { sb.AppendLine("sobyGrid" + appendix + ".Initialize(true);"); } sb.Append(GenerateGridsScript(treeviewItem.Items)); } return(sb.ToString()); }
public void ValidateButtonEnabilities() { IQueryPanel activeQueryPanel = ApplicationContext.Current.SPCamlStudio.QueriesPanel.ActiveQueryPanel; if (activeQueryPanel == null) { ShowCriteriaPaneButton.IsEnabled = false; ShowCamlTextPaneButton.IsEnabled = false; ShowResultsPaneButton.IsEnabled = false; ExecuteQueryButton.IsEnabled = false; ValidateCamlButton.IsEnabled = false; } else { ShowCriteriaPaneButton.IsEnabled = true; ShowCamlTextPaneButton.IsEnabled = true; ShowResultsPaneButton.IsEnabled = true; ExecuteQueryButton.IsEnabled = true; ValidateCamlButton.IsEnabled = true; } Folder selectedObject = ApplicationContext.Current.SPCamlStudio.ServerObjectExplorer.SelectedObject; if (selectedObject != null && ( (selectedObject as SPFolder) != null || (selectedObject as Entities.SQLServer.SQLTable) != null || (selectedObject as Entities.CRM.CRMEntity) != null ) ) { NewQueryButton.IsEnabled = true; } else { NewQueryButton.IsEnabled = false; } }
public void Initialize(IQueryPanel masterQueryPanel, IQueryPanel detailQueryPanel) { _MasterQueryPanel = masterQueryPanel; _DetailQueryPanel = detailQueryPanel; List <CamlFieldRef> masterViewFields = _MasterQueryPanel.GetViewFields(); List <CamlFieldRef> masterAllFields = _MasterQueryPanel.GetAllFields(); foreach (CamlFieldRef fieldRef in masterViewFields) { MasterFieldDisplayNameComboBox.Items.Add(new ComboBoxItem() { Content = fieldRef.DisplayName, Tag = fieldRef }); } foreach (CamlFieldRef fieldRef in masterAllFields) { MasterFieldValueNameComboBox.Items.Add(new ComboBoxItem() { Content = fieldRef.DisplayName, Tag = fieldRef }); } List <CamlFieldRef> detailViewFields = _DetailQueryPanel.GetAllFields(); foreach (CamlFieldRef fieldRef in detailViewFields) { DetailFieldNameComboBox.Items.Add(new ComboBoxItem() { Content = fieldRef.DisplayName, Tag = fieldRef }); } }