コード例 #1
0
        private void ConfigureImportUsersSearchResultsGridViewColumns()
        {
            UPSBrowserLogger.LogDebug(loggingCategory, "ConfigureImportUsersSearchResultsGridViewColumns invoked");

            HyperLinkField col1 = new HyperLinkField();

            col1.HeaderText     = "Display Name";
            col1.DataTextField  = "DisplayName";
            col1.SortExpression = "DisplayName";
            ImportUsersSearchResultsGridView.Columns.Add(col1);

            SPBoundField col2 = new SPBoundField();

            col2.HeaderText     = "Work Email";
            col2.DataField      = "WorkEmail";
            col2.SortExpression = "WorkEmail";
            ImportUsersSearchResultsGridView.Columns.Add(col2);

            SPBoundField col3 = new SPBoundField();

            col3.HeaderText     = "Job title";
            col3.DataField      = "JobTitle";
            col3.SortExpression = "JobTitle";
            ImportUsersSearchResultsGridView.Columns.Add(col3);

            SPBoundField col4 = new SPBoundField();

            col4.HeaderText     = "Department";
            col4.DataField      = "Department";
            col4.SortExpression = "Department";
            ImportUsersSearchResultsGridView.Columns.Add(col4);
        }
コード例 #2
0
        protected void LoadSnapshots()
        {
            try
            {
                DataTable manipulateDt = new DataTable();
                _DAO.Command     = "spGetSnapshotManagementDetails";
                _DAO.CommandType = CommandType.StoredProcedure;
                DataTable    dt = _DAO.GetTable(_DAO.GetClientReportingConnection);
                SPBoundField gridColumn;

                if (!IsPostBack)
                {
                    foreach (DataColumn column in dt.Columns)
                    {
                        gridColumn            = new SPBoundField();
                        gridColumn.HeaderText = column.ColumnName;
                        gridColumn.DataField  = column.ColumnName;

                        if (column.ColumnName.ToLower().EndsWith("id"))
                        {
                            gridColumn.Visible = false;
                        }
                        grdVwSnapshots.Columns.Add(gridColumn);
                    }

                    grdVwSnapshots.DataSource = dt;
                    grdVwSnapshots.DataBind();
                }
            }
            catch { }
        }
コード例 #3
0
        protected void Page_Load(object sender, EventArgs e)
        {
            var assemblyName = GetAssemblyNameFromQueryString();
            var details = GetAssemblyDetails(assemblyName);
            if (details == null)
                SPUtility.TransferToErrorPage("Can't locate assembly");

            var titleField = new SPBoundField
                                 {
                                     HeaderText = "Title",
                                     DataField = "Title",

                                 };
            titleField.HeaderStyle.Width = new Unit(150,UnitType.Pixel);
            titleField.ItemStyle.Width = new Unit(150, UnitType.Pixel);
            var valueField = new SPBoundField
                                 {
                                     HeaderText = "Value",
                                     DataField = "Value"
                                 };

            GridViewAssemblyDetails.Columns.Add(titleField);
            GridViewAssemblyDetails.Columns.Add(valueField);

            GridViewAssemblyDetails.DataSource = details;
            GridViewAssemblyDetails.DataBind();
        }
コード例 #4
0
        private void BindToGrid(IEnumerable<SPSolutionValidator> validators)
        {
            var idField = new SPBoundField { HeaderText = "Id", DataField = "Id" };
            var nameField = new SPBoundField { HeaderText = "Name", DataField = "Name" };
            var signatureField = new SPBoundField { HeaderText = "Signature", DataField = "Signature" };
            var providerIdField = new SPBoundField { HeaderText = "ProviderId", DataField = "ProviderId" };
            var typeNameField = new SPBoundField { HeaderText = "TypeName", DataField = "TypeName" };

            idField.ItemStyle.HorizontalAlign = System.Web.UI.WebControls.HorizontalAlign.Left;
            nameField.ItemStyle.HorizontalAlign = System.Web.UI.WebControls.HorizontalAlign.Left;
            signatureField.ItemStyle.HorizontalAlign = System.Web.UI.WebControls.HorizontalAlign.Left;
            providerIdField.ItemStyle.HorizontalAlign = System.Web.UI.WebControls.HorizontalAlign.Left;
            typeNameField.ItemStyle.HorizontalAlign = System.Web.UI.WebControls.HorizontalAlign.Left;

            typeNameField.ItemStyle.Wrap = true;
            GridViewSolutionValidators.Columns.Add(signatureField);

            GridViewSolutionValidators.Columns.Add(nameField);

            GridViewSolutionValidators.Columns.Add(typeNameField);
            GridViewSolutionValidators.Columns.Add(idField);
            GridViewSolutionValidators.Columns.Add(providerIdField);

            GridViewSolutionValidators.DataSource = validators;
            GridViewSolutionValidators.DataBind();
        }
コード例 #5
0
        protected void LoadSchedules(bool blnLoadColums)
        {
            DataTable    dt;
            SPBoundField gridColumn;

            _DAO.Command =
                "SELECT jobname as [Schedule Name], jobdata as [Lists], siteguid, timerjobuid  FROM TIMERJOBS WHERE siteguid ='" +
                SPContext.Current.Web.Site.ID + "' AND jobtype=7 AND ScheduleType <> 0";
            dt = _DAO.GetTable(_DAO.GetEPMLiveConnection);

            if (!IsPostBack || blnLoadColums)
            {
                foreach (DataColumn column in dt.Columns)
                {
                    gridColumn            = new SPBoundField();
                    gridColumn.HeaderText = column.ColumnName;
                    gridColumn.DataField  = column.ColumnName;

                    if (column.ColumnName.EndsWith("uid"))
                    {
                        gridColumn.Visible = false;
                    }
                    grdVwSchedules.Columns.Add(gridColumn);
                }
            }

            grdVwSchedules.DataSource = dt;
            grdVwSchedules.DataBind();
        }
コード例 #6
0
ファイル: ClaimsWebPart.cs プロジェクト: mloitzl/WsFedPoc
        protected override void CreateChildControls()
        {
            var claimsUser = Page.User as IClaimsPrincipal;

            if (claimsUser != null)
            {
                DataRow   dr;
                DataTable claimsTable = new DataTable();
                claimsTable.Columns.Add("Type", typeof(string));
                claimsTable.Columns.Add("Value", typeof(string));

                IClaimsIdentity ci = (IClaimsIdentity)claimsUser.Identity;
                foreach (Claim c in ci.Claims)
                {
                    dr          = claimsTable.NewRow();
                    dr["Type"]  = c.ClaimType.ToString();
                    dr["Value"] = c.Value.ToString();
                    claimsTable.Rows.Add(dr);
                }

                // Standard SPGridView to display our claims table
                SPGridView claimsGrid = new SPGridView();

                // This eventhandler is used to add the word-break style
                //claimsGrid.RowDataBound += new GridViewRowEventHandler(claimsGrid_RowDataBound);

                // AutoGenerate must be false for SPGridView
                claimsGrid.AutoGenerateColumns = false;
                claimsGrid.DataSource          = claimsTable;

                SPBoundField boundField;

                boundField            = new SPBoundField();
                boundField.HeaderText = "Type";
                boundField.HeaderStyle.HorizontalAlign = HorizontalAlign.Left;
                boundField.DataField = "Type";
                claimsGrid.Columns.Add(boundField);

                boundField            = new SPBoundField();
                boundField.HeaderText = "Value";
                boundField.HeaderStyle.HorizontalAlign = HorizontalAlign.Left;
                boundField.DataField = "Value";
                claimsGrid.Columns.Add(boundField);

                for (int i = 0; i < claimsGrid.Columns.Count; i++)
                {
                    claimsGrid.Columns[i].ItemStyle.Wrap = true;
                    // Distribute the columns evenly
                    claimsGrid.Columns[i].ItemStyle.Width = Unit.Percentage(100 / claimsGrid.Columns.Count);
                }

                claimsGrid.DataBind();

                this.Controls.Add(claimsGrid);
            }
        }
コード例 #7
0
    public void BindGrid(SPGridView grid)
    {
        SPBoundField fldPropertyName = new SPBoundField();

        fldPropertyName.HeaderText = "Property Name";
        fldPropertyName.DataField  = "PropertyName";
        grid.Columns.Add(fldPropertyName);
        SPBoundField fldPropertyValue = new SPBoundField();

        fldPropertyValue.HeaderText = "Value";
        fldPropertyValue.DataField  = "PropertyValue";
        grid.Columns.Add(fldPropertyValue);
        grid.DataSource = PropertyCollection.DefaultView;
        grid.DataBind();
    }
コード例 #8
0
        private void BindToGrid(IEnumerable<FullTrustedProxy> proxies)
        {
            var operationField = new SPBoundField { HeaderText = "Operation", DataField = "Operation" };
            var operationSourceField = new SPBoundField { HeaderText = "Operation Source", DataField = "OperationSource" };
            var moreDetailsField = new TemplateField {HeaderText = "Details", ItemTemplate = new SPModalDialogColumn()};

            operationField.ItemStyle.HorizontalAlign = System.Web.UI.WebControls.HorizontalAlign.Left;
            operationField.ItemStyle.Wrap = true;

            operationSourceField.ItemStyle.HorizontalAlign = System.Web.UI.WebControls.HorizontalAlign.Left;
            operationSourceField.ItemStyle.Wrap = true;

            GridViewFullTrustedProxies.Columns.Add(operationField);
            GridViewFullTrustedProxies.Columns.Add(operationSourceField);
            GridViewFullTrustedProxies.Columns.Add(moreDetailsField);

            GridViewFullTrustedProxies.DataSource = proxies;
            GridViewFullTrustedProxies.DataBind();
        }
コード例 #9
0
        private void BindToGrid(DataTable solutions)
        {
            var nameField = new SPBoundField { HeaderText = "Solution Name", DataField = "Title" };
            var idField = new SPBoundField { HeaderText = "Solution Id", DataField = "DNR_SOLUTION_ID" };
            var siteField = new SPBoundField { HeaderText = "Site", DataField = "DNR_SITE_URL" };

            nameField.ItemStyle.HorizontalAlign = System.Web.UI.WebControls.HorizontalAlign.Left;
            nameField.ItemStyle.Wrap = true;

            GridViewSandboxedSolutions.Columns.Add(siteField);
            GridViewSandboxedSolutions.Columns.Add(nameField);
            GridViewSandboxedSolutions.Columns.Add(idField);

            GridViewSandboxedSolutions.AllowGrouping = true;
            GridViewSandboxedSolutions.GroupField = "DNR_SITE_URL";
            GridViewSandboxedSolutions.GroupFieldDisplayName = "SharePoint Site";

            GridViewSandboxedSolutions.DataSource = solutions;
            GridViewSandboxedSolutions.DataBind();
        }
コード例 #10
0
        private void ConfigureUserProfilesGridViewColumns()
        {
            UPSBrowserLogger.LogDebug(loggingCategory, "ConfigureUserProfilesGridViewColumns invoked");


            HyperLinkField col1 = new HyperLinkField();

            col1.HeaderText     = "Display Name";
            col1.DataTextField  = "DisplayName";
            col1.SortExpression = "DisplayName";
            UserProfilesGridView.Columns.Add(col1);

            SPBoundField col2 = new SPBoundField();

            col2.HeaderText     = "Account Name";
            col2.DataField      = "AccountName";
            col2.SortExpression = "AccountName";
            UserProfilesGridView.Columns.Add(col2);

            SPBoundField col3 = new SPBoundField();

            col3.HeaderText     = "Job title";
            col3.DataField      = "JobTitle";
            col3.SortExpression = "JobTitle";
            UserProfilesGridView.Columns.Add(col3);

            SPBoundField col4 = new SPBoundField();

            col4.HeaderText     = "Department";
            col4.DataField      = "Department";
            col4.SortExpression = "Department";
            UserProfilesGridView.Columns.Add(col4);


            SPBoundField col5 = new SPBoundField();

            col5.HeaderText = "User guid";
            col5.DataField  = "UserGuid";
            UserProfilesGridView.Columns.Add(col5);
        }
コード例 #11
0
        protected void Initialize()
        {
            _dtAuditRecs = new DataTable();
            _dtAuditRecs.Columns.Add(WebId);
            _dtAuditRecs.Columns.Add(ListNameColumn);
            _dtAuditRecs.Columns.Add(MessageColumn);
            _dtAuditRecs.Columns.Add(ActivateColumn);

            var column = new SPBoundField
            {
                HeaderText = "Web url",
                DataField  = WebId
            };

            grdVwResults.Columns.Add(column);

            column = new SPBoundField
            {
                HeaderText = ListNameColumn,
                DataField  = ListNameColumn
            };
            grdVwResults.Columns.Add(column);

            column = new SPBoundField
            {
                HeaderText = MessageColumn,
                DataField  = MessageColumn
            };
            grdVwResults.Columns.Add(column);

            column = new SPBoundField
            {
                HeaderText = ActivateColumn,
                DataField  = ActivateColumn
            };
            grdVwResults.Columns.Add(column);
        }
コード例 #12
0
 private void BindToSPGridView(SPGridView gridView, System.Data.DataView childView)
 {
     SPBoundField boundField;
     List<string> fieldsList = new List<string>() { "AssetNo", "ExpenseType", "CostCenter", "ItemAmount", "GLAccount" };
     foreach (string fieldsName in fieldsList)
     {
         boundField = new SPBoundField();
         boundField.HeaderText = fieldsName;
         boundField.DataField = fieldsName;
         gridView.Columns.Add(boundField);
     }
     gridView.DataSource = childView;
     gridView.PagerTemplate = null;
     gridView.DataBind();
 }
コード例 #13
0
        protected override void OnPreRender(EventArgs e)
        {
            var spSite = SPContext.Current.Site;
            var spWeb  = SPContext.Current.Web;
            var spList = spWeb.Lists[_webpart.ListName];

            ItemsGridView.Columns.Clear();
            ItemsGridView.PageSize = _webpart.PageSize;

            HyperLinkField downloadFile = new HyperLinkField
            {
                Text                        = ConstDownloadFile,
                HeaderText                  = ConstDownload,
                DataNavigateUrlFields       = new string[] { GlobalConstant.LinkFilename },
                DataNavigateUrlFormatString = string.Format(MediaCenterImageDownloadUrl, "{0}"),
                Target                      = ConstTarget
            };

            HyperLinkField playVideo = new HyperLinkField
            {
                Text                        = ConstPlayVideo,
                HeaderText                  = ConstPlayVideoHeader,
                DataNavigateUrlFields       = new string[] { GlobalConstant.LinkFilename },
                DataNavigateUrlFormatString = string.Format(MediaCenterVideoPlayUrl, "{0}"),
                Target                      = ConstTarget
            };

            HyperLinkField editItem = new HyperLinkField
            {
                DataTextField               = ConstID,
                HeaderText                  = ConstEdit,
                DataNavigateUrlFields       = new string[] { ConstID },
                DataNavigateUrlFormatString = string.Format(ConstEditFormUrl, spList.DefaultEditFormUrl, "{0}", spList.DefaultViewUrl),
                Target = ConstTarget
            };

            TemplateField deleteItemTemplete = new TemplateField();

            deleteItemTemplete.ItemTemplate   = new DeleteItemTemplate(DataControlRowType.DataRow);
            deleteItemTemplete.HeaderTemplate = new DeleteItemTemplate(DataControlRowType.Header);

            HyperLinkField folderView = new HyperLinkField
            {
                Text                        = ConstViewFolder,
                HeaderText                  = ConstFolderView,
                DataNavigateUrlFields       = new string[] { GlobalConstant.FolderPath },
                DataNavigateUrlFormatString = string.Format(ConstFolderViewUrl, spList.DefaultViewUrl, "{0}"),
                Target                      = ConstTarget
            };

            SPBoundField imageCategory = new SPBoundField {
                DataField = GlobalConstant.ImageCategory, HeaderText = GlobalConstant.Category
            };

            ItemsGridView.Columns.Add(editItem);
            if (!_webpart.IsFileNameDisabled)
            {
                SPBoundField imageFileName = new SPBoundField {
                    DataField = GlobalConstant.ImageFileName, HeaderText = ConstName
                };
                ItemsGridView.Columns.Add(imageFileName);
            }
            if (!_webpart.IsLinkFileNameDisabled)
            {
                TemplateField templateFileName = new TemplateField();
                templateFileName.ItemTemplate   = new FileNameTemplate(DataControlRowType.DataRow);
                templateFileName.HeaderTemplate = new FileNameTemplate(DataControlRowType.Header);
                ItemsGridView.Columns.Add(templateFileName);
            }
            if (!_webpart.IsDisplayTitleDisabled)
            {
                SPBoundField imageDisplayTitle = new SPBoundField {
                    DataField = GlobalConstant.Title, HeaderText = ConstDisplayTitle
                };
                ItemsGridView.Columns.Add(imageDisplayTitle);
            }
            ItemsGridView.Columns.Add(imageCategory);
            if (!_webpart.IsDescriptionDisabled)
            {
                SPBoundField imageFileName = new SPBoundField {
                    DataField = GlobalConstant.MediaDescription, HeaderText = ConstDescription
                };
                ItemsGridView.Columns.Add(imageFileName);
            }
            if (!_webpart.IsDownloadDisabled)
            {
                ItemsGridView.Columns.Add(downloadFile);
            }
            if (!_webpart.IsPlayDisabled)
            {
                ItemsGridView.Columns.Add(playVideo);
            }
            ItemsGridView.Columns.Add(folderView);

            if (!_webpart.IsPreviewDisabled)
            {
                TemplateField templateEmail = new TemplateField();
                templateEmail.ItemTemplate   = new PreviewTemplate(DataControlRowType.DataRow);
                templateEmail.HeaderTemplate = new PreviewTemplate(DataControlRowType.Header);
                ItemsGridView.Columns.Add(templateEmail);
            }
            ItemsGridView.Columns.Add(deleteItemTemplete);

            try
            {
                this.BindItems();
            }
            catch (Exception ex)
            {
                //TODO: Log Exception
            }
        }
コード例 #14
0
        private void BindToSPGridView(SPGridView gridView, System.Data.DataView childView)
        {
            SPBoundField boundField;
            List<string> fieldsList = new List<string>() {
                                                            "ExpenseType",
                                                           "CostCenter",
                                                           "DealAmount",
                                                           "AmountType",
                                                           "GLAccount"};

            foreach (string fieldsName in fieldsList)
            {
                boundField = new SPBoundField();
                string headerText = fieldsName;
                //if (fieldsName == "CCCWWorkflowNumber")
                //{
                //    headerText = "WorkflowNumber";
                //}
                if (fieldsName == "DealAmount")
                {
                    headerText = "Amount";
                }
                if (fieldsName == "AmountType")
                {
                    headerText = "Currency";
                }
                boundField.HeaderText = headerText;
                boundField.DataField = fieldsName;
                gridView.Columns.Add(boundField);
            }
            gridView.DataSource = childView;
            gridView.PagerTemplate = null;
            gridView.DataBind();
        }
コード例 #15
0
ファイル: DataSummary.ascx.cs プロジェクト: porter1130/C-A
        private void BindToSPGridView(SPGridView gridView, System.Data.DataView childView)
        {
            SPBoundField boundField;

            List<string> fieldsList = new List<string>() {"ExpenseType",
                                                           "GLAccount",
                                                           "CostCenter",
                                                            "ApprovedRmbAmt"
                                                         };

            foreach (string fieldsName in fieldsList)
            {
                boundField = new SPBoundField();
                boundField.HeaderText = fieldsName;
                boundField.DataField = fieldsName;
                gridView.Columns.Add(boundField);
            }

            HiddenField hidWorkflowID = (HiddenField)gridView.Parent.FindControl("hidWorkflowID");
            //gridView.NamingContainer.Controls.Add(hidWorkflowID);

            gridView.DataSource = childView;
            gridView.PagerTemplate = null;
            gridView.DataBind();
        }
コード例 #16
0
        private void BindToSPGridView(SPGridView gridView, System.Data.DataView childView)
        {
            SPBoundField boundField;
            List<string> fieldsList = new List<string>() { "ExpenseType", "CostCenter", "ItemAmount", "GLAccount" };
            foreach (string fieldsName in fieldsList)
            {
                boundField = new SPBoundField();
                string headerText = fieldsName;
                //if (fieldsName == "EECWWorkflowNumber")
                //{
                //    headerText = "WorkflowNumber";
                //}
                if (fieldsName == "ItemAmount")
                {
                    headerText = "Amount";
                }

                boundField.HeaderText = headerText;
                boundField.DataField = fieldsName;
                gridView.Columns.Add(boundField);
            }
            //HiddenField hidWorkflowID = (HiddenField)gridView.Parent.FindControl("hidWorkflowID");
            //gridView.NamingContainer.Controls.Add(hidWorkflowID);
            gridView.DataSource = childView;
            gridView.PagerTemplate = null;
            gridView.DataBind();
        }
コード例 #17
0
        // end of method
        public void createGridViewWithCheckBox(ref SPGridView grv)
        {
            try
            {
                DataTable dt = new DataTable();
                dt.Columns.Add("internalName", typeof(string));

                SPWeb            web   = SPContext.Current.Web;
                SPListCollection lists = web.Lists;
                DataRow          row;
                foreach (SPList oList in lists)
                {
                    if (!oList.Hidden)
                    {
                        row = dt.Rows.Add();
                        row["internalName"] = oList.Title;
                        //if (oList.BaseType != SPBaseType.DocumentLibrary)
                        //{
                        //    row = dt.Rows.Add();
                        //    row["internalName"] = oList.Title;
                        //}
                        //else
                        //{
                        //    SPDocumentLibrary oDocumentLibrary = (SPDocumentLibrary)oList;
                        //   // if (!oDocumentLibrary.IsCatalog && oList.BaseTemplate != SPListTemplateType.XMLForm && oList.BaseTemplate != SPListTemplateType.WebPageLibrary && )
                        //if (oList.BaseType == SPBaseType.DocumentLibrary)
                        //{
                        //    SPDocumentLibrary oDocumentLibrary = (SPDocumentLibrary)oList;
                        //    if (!oDocumentLibrary.IsCatalog && oList.BaseTemplate == SPListTemplateType.DocumentLibrary)
                        //    {
                        //        //SPListItemCollection collListItems = oDocumentLibrary.Items;
                        //        string testName = "";
                        //        //foreach (SPListItem oListItem in collListItems)
                        //        //{
                        //        //    testName += oListItem.Name + "--" + oListItem.DisplayName + "--" + oListItem.File.Title;
                        //        //}
                        //        //string title2 = testName;
                        //        SPListItemCollection folders = oDocumentLibrary.Folders;

                        //        //foreach (SPListItem folder in folders)
                        //        //{
                        //        //    string link = folder.Url;
                        //        //    string displayName = folder.DisplayName;
                        //        //}

                        //        //foreach (SPListItem item in oDocumentLibrary.Items)
                        //        //{
                        //        //    //string sFileLink = item.Url;
                        //        //    //string fileName = item.DisplayName;

                        //        //    SPFile oFile = item.File;
                        //        //    string sFileLink = oFile.ServerRelativeUrl;
                        //        //    string fileName = oFile.ParentFolder.Name;


                        //        //}
                        //        //foreach (SPFolderCollection folders in oDocumentLibrary.RootFolder.SubFolders)
                        //        //{
                        //        //    //string sTempFolderName = fItem.Name;
                        //        //    foreach (SPFolder item in folders)
                        //        //    {
                        //        //        string sURL = item.Url;
                        //        //        string sLink = sURL + item.Title;
                        //        //    }
                        //        //}
                        //    }
                        //}
                        //}
                    }
                }

                TemplateField selectTaskColumn = new TemplateField();
                selectTaskColumn.HeaderText   = "";
                selectTaskColumn.ItemTemplate = new CheckBoxTemplate(ListItemType.Item, "", "");
                grv.Columns.Add(selectTaskColumn);
                SPBoundField field;
                field = new SPBoundField();
                //field.
                field.HeaderText = "List & Libraries";
                field.DataField  = "internalName";
                field.HeaderStyle.HorizontalAlign = HorizontalAlign.Left;
                field.ItemStyle.HorizontalAlign   = HorizontalAlign.Left;
                field.ItemStyle.Wrap = false;
                //grv.HeaderStyle.HorizontalAlign = HorizontalAlign.Left;
                grv.Columns.Add(field);
                TemplateField displayListColumn = new TemplateField();
                displayListColumn.ItemTemplate = new CheckBoxTemplate(ListItemType.EditItem, "", "test");
                displayListColumn.HeaderText   = "Display Name";
                displayListColumn.HeaderStyle.HorizontalAlign = HorizontalAlign.Left;
                grv.Columns.Add(displayListColumn);

                grv.AutoGenerateColumns = false;
                grv.DataSource          = dt.DefaultView;
                grv.DataBind();
            }
            catch { }
        }
コード例 #18
0
 protected void GenerateBoundFields(SPGridView grid) {
     ((TemplateField)grid.Columns[1]).HeaderText = ViewFields.FirstOrDefault().Title;
     foreach (var field in ViewFields.Skip(1)) {
         var boundField = new SPBoundField() {
             HeaderText = field.Title,
             DataField = field.Id.ToString(),
         };
         boundField.HeaderStyle.CssClass = "ms-vh2";
         boundField.ItemStyle.CssClass = "ms-cellstyle ms-vb2";
         grid.Columns.Add(boundField);
     }
 }