Как добавить запрос контента WebPart программно и использовать SPSTALATAQUERY?

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

Вопрос

Это текущий сценарий.

У меня есть центральный сайт называется: xxx.

У меня есть много субзитов, называемых с именем года: 2012, 2011, 2010 и т. Д.

На центральном участке у меня есть список под названием бенефициаров.

На всех годах У меня есть список называется запрос, каждый из этих списков имеет столбец поиска в список бенефициаров на центральном сайте.

Мне нужно создать один веб-сайт на центральном сайте, чтобы показать все запросы, что бенериарий имеет на всех сабстральных сайтах.(Год сайты).Интересно, сделает ли WebPart ChaptyQuery WebPart WebPart, потому что я думаю, что мне придется использовать SPSTIPLEATAQUERY, а не использовать Ssquery.

Это код, который у меня есть до сих пор.

/// <summary>
        /// Update dashboard beneficieries.
        /// </summary>
        /// <param name="currentUnsafeWeb"></param>
        private void UpdateDashboardBeneficiaries(SPWeb currentUnsafeWeb)
        {
            Logger.LogDebug("NLSubsidiesSiteConfigSubsidyCentralEventReceiver", "UpdateDashboardBeneficiaries(SPWeb currentUnsafeWeb)", "BEGIN");

            SPFile page = null;
            try
            {
                page = currentUnsafeWeb.GetFile("beneficiaries.aspx");
                page.CheckOut();

                //Add Content Query WebPart or something else to show all request in all yearsubsites that are related to the beneficiaries list.


                page.CheckIn(string.Empty);

            }
            catch (Exception)
            {
                if (page != null) page.UndoCheckOut();
                throw;
            }

            Logger.LogDebug("NLSubsidiesSiteConfigSubsidyCentralEventReceiver", "ConfigureDashboardBeneficiaries(SPWeb currentWeb)", "END");
         }
.

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

Решение

Как уже упоминалось, вы можете использовать SPLIMICEDWEBPARTMANAGER, чтобы добавить программу программирования WebParts.Образец кода для SPSiteataQuery выглядит так: SPSTITALATAQUERY QUERY= NEW SPSTITALATAQUERY ();

                    //Specify the fields which need to be shown.
                    query.ViewFields = "<FieldRef Name=\"Title\" />" +
                                        "<FieldRef Name=\"Type\" />" +
                                       "<FieldRef Name=\"AssignedTo\" />" +
                                       "<FieldRef Name=\"Status\" />" +
                                       "<FieldRef Name=\"DueDate\" />";

                    query.Lists = "<Lists BaseType='0'/>";
                    query.Query = "<Where><Lt><FieldRef Name='ID' /><Value Type='Counter'>0</Value></Lt></Where>";

                    // Query all Web sites in this site collection.
                    query.Webs = "<Webs Scope=\"SiteCollection\" />";
                    DataTable table = web.GetSiteData(query);
.

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

Чтобы добавить WebPart Programed, вы должны использовать spliticizedwebpartmanager

Для примера (включая contentbyquerywebpart) см. Как создать экземпляры веб-части на страницах с использованием функций - FevelureCeiver - SPLITICEDWEBPARTMANAGER

Пример кода для выполнения того же, если приведен ниже.

ContentEditorWebPart wp = new ContentEditorWebPart();
//Add the webpart to the page
SPLimitedWebPartManager pageMgr = web.GetLimitedWebPartManager(pageURL, System.Web.UI.WebControls.WebParts.PersonalizationScope.Shared);
pageMgr.AddWebPart(wp, "Main", 0);

//Save the page with the changes
pageMgr.SaveChanges(wp);
.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с sharepoint.stackexchange
scroll top