Puis-je charger une liste déroulante avec une liste SharePoint pour définir une partie Web personnalisée propriété?

sharepoint.stackexchange https://sharepoint.stackexchange.com/questions/11289

  •  16-10-2019
  •  | 
  •  

Question

Je trouve ce poste qui prétend vous montrer comment le faire:

http://blog.concurrency.com/sharepoint/create-a-custom-web-part-for-sharepoint-2010/comment-page-1/#comment-1851

Mais après avoir suivi attentivement les instructions et le téléchargement du code, je n'ai pas été en mesure de le faire fonctionner comme prévu.

Je posté une question similaire , mais les réponses ne m'a dit que je pouvais charger une liste déroulante avec des valeurs statiques. Je voudrais le charger à partir d'une liste SharePoint.

Était-ce utile?

La solution

Abe vous dit:

J'ai téléchargé la source, mais il ne semble travailler avec la baisse statique liste vers le bas des articles. J'ai suivi votre instructions, mais n'a jamais été en mesure d'obtenir le menu déroulant travailler avec un interne liste. Est-ce possible de le faire par en suivant les instructions que vous avez à condition de? Si oui, serait-il possible pour vous aider à afficher le code de travail pour cela?

Dans la source que vous devez ajouter une substitution de CreateEditorParts

http: // msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.webparts.iwebeditable.createeditorparts.aspx

http: // msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.webparts.webpart.createeditorparts.aspx

public override EditorPartCollection CreateEditorParts() {
    ArrayList editorArray = new ArrayList();
    MyEditorPart edPart = new MyEditorPart();
    edPart.ID = this.ID + "_editorPart1";
    editorArray.Add(edPart);
    EditorPartCollection editorParts = new EditorPartCollection(editorArray);
    return editorParts;
}

Ainsi, le webpart utilisera les pièces de l'éditeur personnalisé.

Autres conseils

J'ai un ToolPart personnalisé qui lit à partir d'une base de données, mais vous pouvez changer de lire un SPList à la place

public class CustomToolPart : ToolPart {

    protected override void CreateChildControls() {
        ddlCustom = new DropDownList();
        ddlCustom.ID = "ddlCustom";
        ddlCustom.ToolTip = "Custom";
        try {
            using (SqlConnection conn = new SqlConnection(this.webPart.ConnectionString)) {
                conn.Open();
                SqlCommand cmd = new SqlCommand(@"select id,name from [sometableftdb_forums]", conn);
                SqlDataAdapter rs = new SqlDataAdapter(cmd);
                DataSet ds = new DataSet();
                rs.Fill(ds, "Data");
                ddlCustom.DataSource = ds;
                ddlCustom.DataTextField = "name";
                ddlCustom.DataValueField = "id";
                ddlCustom.DataBind();
                ddlCustom.Items.Insert(0, new ListItem("(choose)", "0"));
            }

            //instead add code here for SPSite/SPWeb/SPList

        } catch (SqlException ex) {
            ddlCustom.Items.Insert(0, new ListItem("(sql error)", "0"));
        }
        ListItem item = ddlCustom.Items.FindByValue((webPart != null ? webPart.CustomValueId : 0).ToString());
        if (item != null) {
            ddlCustom.SelectedIndex = -1;
            item.Selected = true;
        }
        Controls.Add(ddlCustom);
    }
}
Licencié sous: CC-BY-SA avec attribution
Non affilié à sharepoint.stackexchange
scroll top