Posso caricare un elenco a discesa con un elenco di SharePoint per impostare un personalizzato Web Part proprietà?

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

  •  16-10-2019
  •  | 
  •  

Domanda

Ho trovato questo post che pretende di mostrare come si fa:

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

Ma dopo seguendo attentamente le istruzioni e scaricare il codice, non sono stato in grado di farlo funzionare come previsto.

ho postato una domanda simile qui , ma le risposte mi ha detto solo come ho potuto caricare un elenco a discesa con i valori statici verso il basso. Vorrei caricarlo da un elenco SharePoint.

È stato utile?

Soluzione

Abe che ha detto:

Ho scaricato la fonte, ma solo sembra funzionare con la goccia statica discesa di elementi. Ho seguito il vostro istruzioni, ma non è mai stato in grado di ottenere discesa lavorare con interna elenco. Questo è possibile fare da seguendo le istruzioni che avete fornito? Se così fosse, sarebbe possibile per arrivare a pubblicare il codice di lavoro per questo?

Nella fonte è necessario aggiungere un override di 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;
}

Così il webpart utilizzerà le parti editor personalizzato.

Altri suggerimenti

Ho un ToolPart personalizzato che legge da un database, ma si potrebbe modificarlo per leggere da uno SPList invece

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);
    }
}
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a sharepoint.stackexchange
scroll top