コード例 #1
0
        public override WebPart CreateWebPart(SPWeb web, Microsoft.SharePoint.WebPartPages.SPLimitedWebPartManager webPartManager)
        {
            SPList list = GetList(web, ListUrl, ListName);

            if (list == null)
            {
                return(null);
            }

            Microsoft.SharePoint.WebPartPages.XsltListViewWebPart webPart = new Microsoft.SharePoint.WebPartPages.XsltListViewWebPart();
            webPart.ListId = list.ID;
            webPart.Title  = Title;
            webPart.WebId  = list.ParentWeb.ID;


            //webPart.ChromeType = System.Web.UI.WebControls.WebParts.PartChromeType.TitleAndBorder;
            SPView view = GetView(list, ViewName);

            webPart.ViewGuid      = view.ID.ToString();
            webPart.XmlDefinition = view.GetViewXml();

            webPart.ExportMode = WebPartExportMode.All;
            base.UpdateProperties(webPart);
            return(webPart);
        }
コード例 #2
0
        protected override void Render(HtmlTextWriter writer)
        {
            if (toolbar != null)
            {
                toolbar.RenderControl(writer);

                foreach (Control control in toolbar.Controls)
                {
                    if (control == null)
                    {
                        continue;
                    }
                    processControls(control, list.Title, list.ID.ToString(), view.ID.ToString(), "grid", this.ID, sFullGridId, hideNew);
                }
            }

            if (SPContext.Current.ViewContext.View != null)
            {
                foreach (System.Web.UI.WebControls.WebParts.WebPart wp in WebPartManager.WebParts)
                {
                    try
                    {
                        if (wp.ToString() == "Microsoft.SharePoint.WebPartPages.XsltListViewWebPart" || wp.ToString() == "Microsoft.SharePoint.WebPartPages.ListViewWebPart")
                        {
                            Microsoft.SharePoint.WebPartPages.XsltListViewWebPart wp2 = (Microsoft.SharePoint.WebPartPages.XsltListViewWebPart)wp;
                            wp2.XmlDefinition = wp2.XmlDefinition.Replace("<Toolbar Type=\"Standard\"/>", "<Toolbar Type=\"Standard\" ShowAlways=\"TRUE\"/>");
                            wp.Visible        = false;
                            break;
                        }
                    }
                    catch { }
                }
            }
        }
コード例 #3
0
        private void InitLatestActivitiesListView()
        {
            UPSBrowserLogger.LogDebug(loggingCategory, "InitLatestActivitiesListView invoked");

            Tuple <string, string> ensureListResult = ActivityLogger.EnsureActivitiesList(); //it resturns a Tuple <listGuid, viewGuid>

            if (ensureListResult == null)
            {
                string errorMessage = "ActivityLogger.EnsureActivitiesList returned null";
                UPSBrowserLogger.LogError(loggingCategory, errorMessage);
                throw new Exception(errorMessage);
            }

            string listGuid = ensureListResult.Item1;
            string viewGuid = ensureListResult.Item2;

            UPSBrowserLogger.LogDebug(loggingCategory, $"listGuid: {listGuid}");
            UPSBrowserLogger.LogDebug(loggingCategory, $"viewGuid: {viewGuid}");

            Microsoft.SharePoint.WebPartPages.XsltListViewWebPart listViewWebPart = new Microsoft.SharePoint.WebPartPages.XsltListViewWebPart();
            listViewWebPart.ListId = new Guid(listGuid);

            listViewWebPart.Toolbar = "";

            string xmlDefinition = $@"
                <View Name=""{{{viewGuid}}}"" MobileView=""TRUE"" Type=""HTML"" Hidden=""TRUE"" DisplayName="""" Level=""1"" BaseViewID=""1"" ContentTypeID=""0x"" ImageUrl=""/_layouts/15/images/generic.png?rev=23"" >
                    <Query>
                        <OrderBy>
                            <FieldRef Name=""RegisteredDate"" Ascending=""FALSE""/>
                        </OrderBy>
                        <Where>
                            <Geq><FieldRef Name=""RegisteredDate""/><Value Type=""DateTime""><Today/></Value></Geq>
                        </Where>
                    </Query>
                    <ViewFields>
                        <FieldRef Name=""RegisteredDate""/>
                        <FieldRef Name=""Initiator""/>
                        <FieldRef Name=""User""/>
                        <FieldRef Name=""Action""/>
                        <FieldRef Name=""Result""/>
                        <FieldRef Name=""AdditionalInfo""/>
                    </ViewFields>
                    <RowLimit Paged=""TRUE"">30</RowLimit>
                    <Aggregations Value=""Off""/>
                    <JSLink>clienttemplates.js</JSLink>
                    <XslLink Default=""TRUE"">main.xsl</XslLink>
                    <Toolbar Type=""None""/>
                </View>
            ";

            listViewWebPart.XmlDefinition = xmlDefinition;

            listViewWebPart.AllowClose      = false;
            listViewWebPart.AllowConnect    = false;
            listViewWebPart.AllowEdit       = false;
            listViewWebPart.AllowHide       = false;
            listViewWebPart.AllowMinimize   = false;
            listViewWebPart.AllowZoneChange = false;
            listViewWebPart.ChromeType      = PartChromeType.None;
            PanelLatestActivities.Controls.Add(listViewWebPart);
        }
コード例 #4
0
        protected override void CreateChildControls()
        {
            try
            {
                //if (WebUrl.Contains(SPContext.Current.Site.Url))
                //{
                using (SPSite Site = new SPSite(WebUrl))
                {
                    using (SPWeb Web = Site.OpenWeb())
                    {
                        Microsoft.SharePoint.WebPartPages.XsltListViewWebPart view = new Microsoft.SharePoint.WebPartPages.XsltListViewWebPart();
                        SPList List = Web.Lists[ListName];
                        if (List != null)
                        {
                            view.ListId = List.ID;
                            view.WebId = Web.ID; ;
                            view.ListName = List.ID.ToString();
                            view.ListUrl = Web.Url + "/" + List.RootFolder.Url;
                            view.TitleUrl = "/" + List.RootFolder.Url;
                            SPView View = List.Views[ViewName];
                            StringBuilder sb = new StringBuilder();
                            sb.Append("<View Name=\"{" + View.ID.ToString() + "}\" MobileView=\"TRUE\" Type=\"HTML\" DisplayName=\"Subject\" Url=\"" + View.Url + "\" Level=\"1\" BaseViewID=\"3\" ContentTypeID=\"0x012001\" ImageUrl=\"/_layouts/images/vwdisc.png\">");
                            sb.Append("<Query>");
                            sb.Append("<Where>");
                            sb.Append("<Leq>");
                            sb.Append("<FieldRef Name='Created' />");
                            sb.Append("<Value Type='DateTime'>");
                            sb.Append("<Today Offset='-7' /></Value>");
                            sb.Append("</Leq>");
                            sb.Append("</Where>");
                            sb.Append("</Query>");
                            sb.Append("<ViewFields>");
                            sb.Append("<FieldRef Name=\"Title\" Explicit=\"TRUE\"/>");
                            sb.Append("<FieldRef Name=\"LinkDiscussionTitle\"/>");
                            sb.Append("<FieldRef Name=\"DiscussionLastUpdated\"/>");
                            sb.Append("<FieldRef Name=\"ItemChildCount\"/>");
                            sb.Append("<FieldRef Name=\"AverageRating\"/>");
                            sb.Append("</ViewFields>");
                            sb.Append("<RowLimit Paged=\"TRUE\">5</RowLimit>");
                            sb.Append("<Toolbar Type=\"Freeform\"/>");
                            sb.Append("</View>");
                            string xmldifinition = sb.ToString();
                            view.XmlDefinition = xmldifinition;
                            view.ChromeType = PartChromeType.None;
                            view.ViewContentTypeId = "0x012001";
                            view.GhostedXslLink = "main.xsl";
                            view.NoDefaultStyle = "TRUE";
                            view.ViewFlag = "8";
                            StringBuilder sbParam = new StringBuilder();
                            sbParam.Append("<ParameterBinding Name=\"dvt_sortdir\" Location=\"Postback;Connection\"/>");
                            sbParam.Append("<ParameterBinding Name=\"dvt_sortfield\" Location=\"Postback;Connection\"/>");
                            sbParam.Append("<ParameterBinding Name=\"dvt_startposition\" Location=\"Postback\" DefaultValue=\"\"/>");
                            sbParam.Append("<ParameterBinding Name=\"dvt_firstrow\" Location=\"Postback;Connection\"/>");
                            sbParam.Append("<ParameterBinding Name=\"OpenMenuKeyAccessible\" Location=\"Resource(wss,OpenMenuKeyAccessible)\" />");
                            sbParam.Append("<ParameterBinding Name=\"open_menu\" Location=\"Resource(wss,open_menu)\" />");
                            sbParam.Append("<ParameterBinding Name=\"select_deselect_all\" Location=\"Resource(wss,select_deselect_all)\" />");
                            sbParam.Append("<ParameterBinding Name=\"idPresEnabled\" Location=\"Resource(wss,idPresEnabled)\" />");
                            sbParam.Append("<ParameterBinding Name=\"NoAnnouncements\" Location=\"Resource(wss,noXinviewofY_LIST)\" />");
                            sbParam.Append("<ParameterBinding Name=\"NoAnnouncementsHowTo\" Location=\"Resource(core,noXinviewofY_DEFAULT)\" />");
                            sbParam.Append("<ParameterBinding Name=\"AddNewAnnouncement\" Location=\"Resource(wss,addnewitem)\" />");
                            sbParam.Append("<ParameterBinding Name=\"MoreAnnouncements\" Location=\"Resource(wss,moreItemsParen)\" />");
                            view.ParameterBindings = sb.ToString();

                            string DiscussionUrl = Web.Url + "/" + List.RootFolder.Url + "/Flat.aspx";
                            lcScript = new LiteralControl();
                            lcScript.ID = "lcEncodedUrls";
                            lcScript.Text = "<div id='EncodedInfo' style='display:none;'>" + DiscussionUrl + ";" + SPContext.Current.Web.ServerRelativeUrl + "/pages/discussions.aspx</div>";
                            Controls.Add(lcScript);

                            Controls.Add(view);
                        }
                    }
                }
                //}
            }
            catch (SPException ex)
            {
            }
        }