Могу ли я загрузить раскрывающий список в список SharePoint, чтобы установить пользовательское свойство веб -части?

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

  •  16-10-2019
  •  | 
  •  

Вопрос

Я нашел этот пост, который утверждает, что показывает вам, как это сделать:

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

Но после тщательного следования инструкциям и загрузки кода я не смог заставить его работать, как и ожидалось.

Я опубликовал аналогичный вопрос здесь, но ответы только сказали мне, как я мог загрузить раскрывающий список со статическими значениями. Я хотел бы загрузить его из списка SharePoint.

Это было полезно?

Решение

Або, ты сказал:

Я скачал источник, но, похоже, он работает только со статическим раскрывающимся списком элементов. Я следовал вашим инструкциям, но никогда не смог получить раскрытие, работая с внутренним списком. Можно ли это сделать, следуя предоставленным вами инструкциям? Если это так, можно было бы заставить вас опубликовать рабочий код для этого?

В источнике вам нужно добавить переопределение 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;
}

Таким образом, веб -часть будет использовать индивидуальные детали редактора.

Другие советы

У меня есть пользовательская карта инструмента, которая считывается из базы данных, но вы можете изменить ее на чтение от шпилька вместо этого

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);
    }
}
Лицензировано под: CC-BY-SA с атрибуция
Не связан с sharepoint.stackexchange
scroll top