/// <summary> /// Load content type and fields templates /// </summary> public override void DataBind() { foreach (SPContentType ct in this.Data.ContentTypes) { ContentTypeTemplate contentTypeTemplate = this.LoadControl("~/_layouts/SharepointDocGenerator/Templates/ContentTypeTemplate.ascx") as ContentTypeTemplate; contentTypeTemplate.Data = ct; contentTypeTemplate.DataBind(); ContentTypeRepeater.Controls.Add(contentTypeTemplate); } List <SPField> fields = new List <SPField>(); foreach (SPField field in this.Data.Fields) { fields.Add(field); } fieldsTemplate.Data = fields; fieldsTemplate.DataBind(); }
/// <summary> /// Clicking the Ok button /// </summary> /// <param name="sender">Sender</param> /// <param name="e">EventArgs</param> protected void btnOk_Click(object sender, EventArgs e) { this.ControlsPanel.Visible = false; this.ResultsPanel.Visible = true; // Get the selected fields List <SPField> selectedFields = new List <SPField>(); foreach (int index in this.fields.GetSelectedIndices()) { selectedFields.Add(this._fields.First(f => f.Id.ToString() == this.fields.Items[index].Value)); } if (selectedFields.Count != 0) { FieldsTemplate fieldsTemplate = this.LoadControl("~/_layouts/SharepointDocGenerator/Templates/FieldsTemplate.ascx") as FieldsTemplate; fieldsTemplate.Data = selectedFields; fieldsTemplate.DataBind(); this.PanelControls.Controls.Add(fieldsTemplate); } // Get the selected site content types foreach (int index in this.contentTypes.GetSelectedIndices()) { ContentTypeTemplate contentTypeTemplate = this.LoadControl("~/_layouts/SharepointDocGenerator/Templates/ContentTypeTemplate.ascx") as ContentTypeTemplate; contentTypeTemplate.Data = this._contentTypes.First(ct => ct.Id.ToString() == this.contentTypes.Items[index].Value); contentTypeTemplate.DataBind(); this.PanelControls.Controls.Add(contentTypeTemplate); } foreach (int index in this.lists.GetSelectedIndices()) { ListTemplate listTemplate = this.LoadControl("~/_layouts/SharepointDocGenerator/Templates/ListTemplate.ascx") as ListTemplate; listTemplate.Data = this._lists.First(l => l.ID.ToString() == this.lists.Items[index].Value); listTemplate.DataBind(); this.PanelControls.Controls.Add(listTemplate); } // Get the selected features List <SPFeature> selectedFeatures = new List <SPFeature>(); foreach (int index in this.features.GetSelectedIndices()) { selectedFeatures.Add(this._features.First(f => f.DefinitionId.ToString() == this.features.Items[index].Value)); } if (selectedFeatures.Count != 0) { FeaturesTemplate featuresTemplate = this.LoadControl("~/_layouts/SharepointDocGenerator/Templates/FeaturesTemplate.ascx") as FeaturesTemplate; featuresTemplate.Data = selectedFeatures; featuresTemplate.DataBind(); this.PanelControls.Controls.Add(featuresTemplate); } // Get the selected users List <SPUser> selectedUsers = new List <SPUser>(); foreach (int index in this.users.GetSelectedIndices()) { selectedUsers.Add(this._users.First(u => u.ID.ToString() == this.users.Items[index].Value)); } if (selectedUsers.Count != 0) { UsersTemplate usersTemplate = this.LoadControl("~/_layouts/SharepointDocGenerator/Templates/UsersTemplate.ascx") as UsersTemplate; usersTemplate.Data = selectedUsers; usersTemplate.DataBind(); this.PanelControls.Controls.Add(usersTemplate); } }