Search This Blog

Friday, March 13, 2015

Remodeled Code: Progress Bar in GridView using SharePoint Tasks List

 The old post is available in this location:- Old Code for Progress Bar in GridView

Notes:-
  1. For Percentcomplete column keep 0 as default value.
  2. Specify Minimum value as 0 and Maximum value as 100.
  3. Create one caluclated column in Tasks List with name ConvertPC.
  4. Now in the column do the settings3and code as shown in the below figure.

  1. This is used to convert double value into Percentage.
  2. Now Press ok and take the TemplateField in the GridView and do the changes as shown in the ascx file.


Ascx

<%@ Assembly Name="$SharePoint.Project.AssemblyFullName$" %>
<%@ Assembly Name="Microsoft.Web.CommandUI, Version=14.0.0.0, Culture=neutral, 
PublicKeyToken=71e9bce111e9429c" %>
<%@ Register Tagprefix="SharePoint" Namespace="Microsoft.SharePoint.WebControls"
Assembly="Microsoft.SharePoint, 
Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %>
<%@ Register Tagprefix="Utilities" Namespace="Microsoft.SharePoint.Utilities"
Assembly="Microsoft.SharePoint, 
Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %>
<%@ Register Tagprefix="asp" Namespace="System.Web.UI" Assembly="System.Web.Extensions,
 Version=3.5.0.0, Culture=neutral, 
PublicKeyToken=31bf3856ad364e35" %>
<%@ Import Namespace="Microsoft.SharePoint" %>
<%@ Register Tagprefix="WebPartPages" Namespace="Microsoft.SharePoint.WebPartPages"
Assembly="Microsoft.SharePoint, 
Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %>
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="TestPBarUserControl.ascx.cs"
Inherits="TestPBar.TestPBar.TestPBarUserControl" %>
<asp:GridView ID="dgvProgressBarSample" runat="server" CellPadding="4"
    EnableModelValidation="True" ForeColor="#333333" GridLines="Both" 
AutoGenerateColumns="false"Width="100%">
    <AlternatingRowStyle BackColor="White" />
    <EditRowStyle BackColor="#7C6F57" />
    <FooterStyle BackColor="#1C5E55" Font-Bold="True" ForeColor="White" />
    <HeaderStyle BackColor="#1C5E55" Font-Bold="True" ForeColor="White" />
    <PagerStyle BackColor="#666666" ForeColor="White" HorizontalAlign="Center" />
    <RowStyle BackColor="#E3EAEB" />
    <SelectedRowStyle BackColor="#C5BBAF" Font-Bold="True" ForeColor="#333333" />
    <Columns>
    <asp:BoundField HeaderText="Title" DataField="Title" />
    <asp:TemplateField HeaderText="% Complete">
    <ItemTemplate><div><table width="<%# Eval("ConvertPC") %>%"  bgcolor="yellow">
<tr><td><strong><%#Eval("ConvertPC") %>%</strong></td></tr></table></div></ItemTemplate>
    <AlternatingItemTemplate><div><table width="<%# Eval("ConvertPC") %>%"  
bgcolor="yellow"><tr><td><strong><%# Eval("ConvertPC") %>%</strong></td></tr>
</table></div></AlternatingItemTemplate>
    </asp:TemplateField>
    </Columns>
</asp:GridView>



Ascx.cs
using System;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using Microsoft.SharePoint;
using System.Security;

namespace TestPBar.TestPBar
{
    public partial class TestPBarUserControl : UserControl
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            SPWeb currentMeb = SPContext.Current.Web;
            SPList lst = currentMeb.Lists["Tasks"];
            SPQuery sQuery = new SPQuery();
            sQuery.Query = "";
            SPListItemCollection myColl = lst.GetItems(sQuery);
            if (myColl.Count > 0)
            {
                dgvProgressBarSample.DataSource = myColl.GetDataTable();
                dgvProgressBarSample.DataBind();
            }

        }
    }
}


No comments:

Post a Comment