Telerik Forums
UI for ASP.NET AJAX Forum
7 answers
341 views
Hi,

I am implementing RadTreeview Context menu. It working fine when user right click on it.. but I wanted to display the context menu when user leftclick on it..

Can you please provide some code related to displaying contextmenu when user leftclick on the RadTreeview..?
James
Top achievements
Rank 1
 answered on 06 Nov 2012
2 answers
756 views
Hi there, I have a radtreeview which has a context menu which works perfectly on right click. When a user right clicks on a node in the tree the context menu will appear with options such as "delete [course name]", "edit [course name]", and "add [course name]". Where [course name] is is where the name of the node they are clicking on will go which also works perfectly. My tree view is like this:

ALL COURSES [ROOT]
COURSE GROUP NAME
COURSE
COURSE

Each level on the tree has a slightly different context menu as some have more options than the others. So far I have managed to get a context menu to appear on left click, but all this does is make the biggest context menu appear no matter which node is clicked on and where the course name should be [course name] is displayed instead of the actual course name. But when I right click and then left click the context menu works fine but right click is needed before hand.

Here is part of my asp tree code:
<telerik:RadTreeView ID="UsersTreeView" runat="server" Height="100%" Width="400px"
                OnNodeEdit="UsersTreeView_NodeEdit" OnNodeExpand="UsersTreeView_NodeExpand"
                OnNodeCollapse="UsersTreeView_NodeCollapse" AllowNodeEditing="True" EnableDragAndDrop="True"
                OnContextMenuItemClick="TreeView_ContextMenuItemClick" OnClientContextMenuShowing="UsersTreeView_onClientContextMenuShowing"
                OnClientContextMenuItemClick="UsersTreeView_onClientContextMenuItemClicking"  OnClientNodeClicking="UsersTreeView_onNodeClicking" 
                MultipleSelect="True" OnNodeDrop="UsersTreeView_HandleDrop" >
                <ContextMenus>
                    <telerik:RadTreeViewContextMenu ID="UserGroupContextMenu" runat="server">

AND here is the JavaScript being used:
function UsersTreeView_onClientContextMenuShowing(sender, args) {
    sender.unselectAllNodes();
    var treeNode = args.get_node();
    treeNode.set_selected(true);
    //enable/disable menu items
    UsersTreeView_setMenuItemsState(args.get_menu().get_items(), treeNode);
}

function UsersTreeView_onClientContextMenuItemClicking(sender, args) {
    var menuItem = args.get_menuItem();
    var treeNode = args.get_node();
    menuItem.get_menu().hide();

    switch (menuItem.get_value()) {
        case "add":
        //case "addroot":
        case "edit":
        //case "user_viewcourses":
        case "user_assigncourses":
        case "group_assigncourses":
        case "group_assigncoursessub":
        //case "moveroot":
        case "delete":
            break;
    }
}

AND currently for left click I am using this:
    function UsersTreeView_onNodeClicking(sender, args) {
            var domEvent = args.get_domEvent();
            var menu = $find("<%= UserGroupContextMenu.ClientID %>");
            args.set_cancel(true);
            menu.show(domEvent);
        }

Now I do realize that with my left click code this is needed somewhere:
UsersTreeView_setMenuItemsState(args.get_menu().get_items(), treeNode);

Its used within the default right click code to decide the correct context menu needed but I've tried adding it to my left click code and just cant seem to get it working. I have searched like mad round the forums and Google but for my specific problem I have been unable to find an answer, for all I know it could be impossible to do? 

Thanks, James
James
Top achievements
Rank 1
 answered on 06 Nov 2012
5 answers
152 views
Hello,

I have a master page with an asp menu.  On a content page I have a RadListBox that is hiding part of the menu.  I've tried setting the position to relative and the z-index higher in a div surrounding the menu but nothing seems to make a difference.  This is in IE7.  Any suggestions?

Thanks,
Casey

Simon
Top achievements
Rank 1
 answered on 06 Nov 2012
5 answers
135 views
I'm getting problems showing appointment with a recursive rule.

This is the code of the scheduler from the aspx:

<telerik:RadScheduler ID="scheduler" runat="server" SelectedView="MonthView" DataKeyField="ID" DataStartField="Start"
     DataEndField="End" DataSubjectField="Subject"  OverflowBehavior="Expand">
</telerik:RadScheduler>


And this is the code that I used to insert the appointment:

DateTime startAppointment = new DateTime(2012, 10, 22, 0, 0, 0);
DateTime endAppointment = new DateTime(2012, 10, 22, 10, 0, 0);
TimeSpan startRecurrence = new TimeSpan(00, 00, 00);
TimeSpan endRecurrence = new TimeSpan(10, 00, 00);
 
Telerik.Web.UI.Appointment appointment = new Telerik.Web.UI.Appointment("1", startAppointment, endAppointment, "demo");
 
RecurrenceRange range = new RecurrenceRange();
range.Start = startAppointment;
range.EventDuration = endRecurrence - startRecurrence;
range.MaxOccurrences = Int32.MaxValue;
 
RecurrenceDay dias = RecurrenceDay.EveryDay;
WeeklyRecurrenceRule rrule = new WeeklyRecurrenceRule(1, dias, range);
appointment.RecurrenceRule = rrule.ToString();
scheduler.InsertAppointment(appointment);

If I insert the appointment and I check it at runtime the value of "rrule.Occurrences.Count()" it returns 3000 but the scheduler only shows 21. What's the problem? Why the scheduler doesn't show all the occurrences?

Best Regards
Plamen
Telerik team
 answered on 06 Nov 2012
1 answer
145 views
I would like to find a user control that I am using in my RadGrid Edittemplate, but I cannot.

I am able to find it in the ItemDataBound event, but I cannot find it at ItemCommand where I need to access a control within it.

This is how I access the usercontrol in ItemDataBound event:

 

 

Protected Sub rg_ItemDataBound(sender As Object, e As Telerik.Web.UI.GridItemEventArgs)

 

 

 

 If TypeOf (e.Item) Is GridEditFormItem And Not rg.MasterTableView.IsItemInserted Then

 

 

 

   Dim e_item As GridEditFormItem = CType(e.Item, GridEditFormItem)

 

 

 

   Dim uc As UserControl = CType(CType(e.Item, GridEditFormItem).FindControl("EditFormControl"), UserControl)

 

 

 

End If

 

 

 

End Sub

This works but does not in ItemCommand.

 

Andrey
Telerik team
 answered on 06 Nov 2012
1 answer
71 views
Hi,
I am trying to set the pagesize is code, the value I store in session for SEO paging but if I set the page size I can't navigate past page 1

Anyone have ideas on what I am doing wrong.   The Pager is inside a RadListView control

Pavlina
Telerik team
 answered on 06 Nov 2012
1 answer
424 views
Hi,

I've recently added functionality to one of my radgrids so that a Filter will be applied when the user presses Enter in the Filter text box. 
I have the CurrentFilterFunction set to "Contatins" on most columns and set the AutoPostbackOnFilter property to True.
I've also kept the Filter menu so that the user can choose another filter option.

One issue I've noticed is that if the user types in the the filter text box and then clicks on the menu to select another option, the default filter is immediately applied, which is a little annoying as then the grid has to apply the filter option chosen in the menu.

I've tried a few different ways to prevent this from happening without full success. One workaround was to set  the AutoPostbackOnFilter property to false and then set the FilterDelay to a high value. This works on all columns except datetime columns. 

<MasterTableView DataSourceID="ProjectsDS" ClientDataKeyNames="ID">
                <Columns>
                    <telerik:GridClientSelectColumn UniqueName="projectsSelect" Visible="false" />
                    <telerik:GridBoundColumn Visible="True" DataField="ID" UniqueName="ID" HeaderText="ID"
                        AutoPostBackOnFilter="False" CurrentFilterFunction="EqualTo" FilterDelay="60000" />
                    <telerik:GridBoundColumn DataField="Name" HeaderText="Name" UniqueName="Name" AutoPostBackOnFilter="False"
                        CurrentFilterFunction="Contains"  FilterDelay="60000" />
                    <telerik:GridBoundColumn DataField="CampaignName" HeaderText="Campaign" UniqueName="CampaignName">
                        <FilterTemplate>
                            <telerik:RadComboBox ID="FilterCombo" runat="server" AutoPostBack="false" AppendDataBoundItems="true"
                                DataSourceID="CampaignDS" DataTextField="Name" DataValueField="ID" OnClientSelectedIndexChanged="SelectedIndexChanged"
                                SelectedValue='<%# ((GridItem)Container).OwnerTableView.GetColumn("CampaignID").CurrentFilterValue %>'>
                                <Items>
                                    <telerik:RadComboBoxItem Text="No filters." Value="" />
                                </Items>
                            </telerik:RadComboBox>
                            <telerik:RadScriptBlock ID="RadScriptBlock1" runat="server">
                                <script type="text/javascript">
                                    function SelectedIndexChanged(sender, args) {
 
                                        var tableView = $find("<%# ((GridItem)Container).OwnerTableView.ClientID %>");
                                        tableView.filter("CampaignID", args.get_item().get_value(), "EqualTo");
                                    }
                                    function clientItemClicking(sender, args) {
                                        if (args.get_item().get_value() === "NoFilter") {
                                            var target = args.get_targetElement();
                                            var filterBox = target.parentNode.getElementsByTagName("input")[0];
                                            filterBox.value = "";
                                        }
                                    }                                  
                                </script>
                            </telerik:RadScriptBlock>
                        </FilterTemplate>
                    </telerik:GridBoundColumn>
                    <telerik:GridBoundColumn DataField="CampaignID" HeaderText="CampaignID" UniqueName="CampaignID"
                        Display="false" />
                    <telerik:GridBoundColumn DataField="FrameworkName" HeaderText="Framework" UniqueName="FrameworkName"
                        AutoPostBackOnFilter="False" CurrentFilterFunction="Contains" FilterDelay="60000"/>
                    <telerik:GridBoundColumn DataField="ProjectBaseName" HeaderText="Template" UniqueName="ProjectBaseName"
                        AutoPostBackOnFilter="False" CurrentFilterFunction="Contains" FilterDelay="60000"/>
                    <telerik:GridBoundColumn DataField="StatusDisplayValue" HeaderText="Status" UniqueName="StatusDisplayValue"
                        AutoPostBackOnFilter="False" CurrentFilterFunction="Contains" FilterDelay="60000"/>
                    <telerik:GridDateTimeColumn DataField="StartDate" HeaderText="Start Date" UniqueName="StartDate"
                        DataFormatString="{0:d}" AutoPostBackOnFilter="True" CurrentFilterFunction="EqualTo" FilterDelay="60000">
                    </telerik:GridDateTimeColumn>
                    <telerik:GridDateTimeColumn DataField="EndDate" HeaderText="End Date" UniqueName="EndDate"
                        DataFormatString="{0:d}" AutoPostBackOnFilter="True" CurrentFilterFunction="EqualTo">
                    </telerik:GridDateTimeColumn>
                    <telerik:GridBoundColumn DataField="ExternalID" HeaderText="External ID" UniqueName="ExternalID"
                        AutoPostBackOnFilter="False" CurrentFilterFunction="Contains" FilterDelay="60000"/>
                    <telerik:GridTemplateColumn DataField="IsArchived" HeaderText="Archived" UniqueName="IsArchived"
                        Visible="false" GroupByExpression="IsArchived Group By IsArchived">
                        <HeaderTemplate>
                            <asp:CheckBox ID="chkArchivedSelectAll" OnCheckedChanged="chkArchivedSelectAll_CheckedChanged"
                                AutoPostBack="true" runat="server" TextAlign="Right" Text=" Archived" />
                        </HeaderTemplate>
                        <ItemTemplate>
                            <asp:CheckBox ID="IsArchived" Checked='<%# Bind("IsArchived") %>' runat="server" />
                        </ItemTemplate>
                    </telerik:GridTemplateColumn>
                </Columns>
            </MasterTableView>

Is there a way to cancel the default Filter when the user clicks on the menu but also allow the user to press enter to apply the filter? I have noticed that on all of the demos of this functionality on this site, the Filter menu is removed from columns that have AutoPostBackOnFilter set to True. Is there an issue with using both together?

Thanks.
Marin
Telerik team
 answered on 06 Nov 2012
0 answers
97 views
Hi!
I couldn't find the solution on my problem here in the Forum so i created a new Thread, but if there already is a Thread about this topic then send me there. 

The Problem occurring when I am using a asp:Button under my ListBox. The button is not firing in the default browser in Android 4.1 but it is working with older Android and other Chrome in Android. 

Here is the aspx code. 
<div class="LeftWrapper" id="decorationZone">
     <telerik:RadListBox ID="List" runat="server" AppendDataBoundItems="True"
         CheckBoxes="true" Skin="MetroTouch" OnClientItemChecked="OnClientItemCheckedHandler"
         OnClientSelectedIndexChanged="OnClientSelectedIndexChanged">
         <ButtonSettings TransferButtons="All"></ButtonSettings>
     </telerik:RadListBox>
     <p style="z-index:40 !important;" >
         <asp:Button ID="AddButton" runat="server" Text="" OnClientClick="alert('working');addLoading('AddButton','LaggTillButton');"
             CssClass="LaggTillButton" />
     </p>
 </div>

Here is the css for the listbox
#List
{
    height: 400px;
    width: 200px;
    overflow: auto;
    border: solid 1px #8b9ba7 !important;
    margin-left: 10px;
    margin-bottom: 3px;
    display: block;
    float: right;
    display: inline;
    white-space: nowrap;
    position:static !important;
     
}

Thank you
Simon
Top achievements
Rank 1
 asked on 06 Nov 2012
3 answers
1.2K+ views
Hi,

Why your controls does not respect this culture setting for localization: System.Threading.Thread.CurrentThread.CurrentUICulture? It is thread-wide culture for resources. I don't see any advantage of setting culture via Culture property of each control. We have multi-language application with hundereds of pages. It's impossible to set Culture declaratively in mark-up as well as in code behind for every single telerik control, unless we made our own ones inheriting from yours, but why? Is it possible to respect the CurrentUICulture, so that the default culture of each telerik control will be correct throughout the thread? Web.config setting is not a solution for us, because it would make a culture application-static. That is not a correct solution.

There is a method InitializeCulture of System.Web.UI.Page class, which is a part of page life-cycle. That is the place, where culture is being set for every request (meaning both Thread.CurrentThread.CurrentCulture and Thread.CurrentThread.CurrentUICulture).
As far as HttpHandlers are concerned, ProcessRequest method should also contain culture initialization as one of the first things.

Thank you, best regards,
    Leos
Leoš
Top achievements
Rank 1
 answered on 06 Nov 2012
1 answer
107 views
Hi All,
       I have the following code and attached a screen shot in the grid the column headers should be sorted as 1 2 3 4 etc and for the text values like holiday and absent the link should be disabled.I need it to be resolved as soon as possible.
using System;
using System.Collections;
using System.Collections.Specialized;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
using System.Drawing;
using System.Diagnostics;
using Telerik.Web;
using Telerik.Web.UI;
using System.Data.SqlClient;
using MSI.Emailing;
using AttendenceManagement.Business_Layer;
 
namespace AttendenceManagement.Controls
{
    public partial class AttendenceDetailsGrid : System.Web.UI.UserControl
    {
        AttendenceDetailsDAO objAttendenceDetailsDAO = new AttendenceDetailsDAO();
        AttendenceDetailsEntities objAttendenceDetailsEntities = new AttendenceDetailsEntities();
        public string EmpId = "0MSI1132";
        protected void Page_Load(object sender, EventArgs e)
        {
            rdpTo.MaxDate = DateTime.Now;
            rcbxEmployee.EmptyMessage = "";
            if (!IsPostBack)
            {
                rdpTo.SelectedDate = DateTime.Now.AddDays(-1);
                rdpFrom.SelectedDate = DateTime.Now.AddMonths(-1);
                objAttendenceDetailsEntities.EmployeId = EmpId;
                lblFromdatewithyear.Text = rdpFrom.SelectedDate.Value.Date.ToShortDateString();
                lblTodatewithyear.Text = rdpTo.SelectedDate.Value.Date.ToShortDateString();
                objAttendenceDetailsEntities.FromDate = Convert.ToDateTime(rdpFrom.SelectedDate);
                objAttendenceDetailsEntities.ToDate = Convert.ToDateTime(rdpTo.SelectedDate);
                LoadAttendenceGrid();
                LoadRadCboxEmployee();
            }
        }
 
        protected void rbtnSelect_Click(object sender, EventArgs e)
        {
 
            ArrayList checkedItems = new ArrayList();
            checkedItems = GetCheckedItems();
            ArrayList arrlist = new ArrayList();
 
            foreach (RadComboBoxItem item in checkedItems)
            {
                arrlist.Add(item.Text);
            }
 
            string[] strEmpId = arrlist.ToArray(typeof(string)) as string[];
            string strEmployeeId = string.Join(",", strEmpId);
 
            rgAttendenceDetails.Columns.Clear();
            lblFromdatewithyear.Text = rdpFrom.SelectedDate.Value.Date.ToShortDateString();
            lblTodatewithyear.Text = rdpTo.SelectedDate.Value.Date.ToShortDateString();
            objAttendenceDetailsEntities.EmployeId = strEmployeeId;
            objAttendenceDetailsEntities.FromDate = Convert.ToDateTime(rdpFrom.SelectedDate);
            objAttendenceDetailsEntities.ToDate = Convert.ToDateTime(rdpTo.SelectedDate);
            LoadAttendenceGrid();
        }
 
        protected void rgAttendenceDetails_ItemCommand(object sender, GridCommandEventArgs e)
        {
            string strEmployeeID;
            string strDate;
 
            if (e.CommandName == "AttendenceCheck")
            {
                if (e.Item is GridDataItem)
                {
                    GridDataItem item = (GridDataItem)e.Item;
                    strEmployeeID = item["Emp_ID"].Text;
                    rtxtEmployeeName.Text = strEmployeeID;
                    strDate = e.CommandArgument.ToString();
                    rtxtDate.Text = strDate;
                    rwdAttendenceDetails.VisibleOnPageLoad = true;
                    objAttendenceDetailsEntities.EmployeId = strEmployeeID;
                    objAttendenceDetailsEntities.Date = Convert.ToDateTime(strDate);
                    LoadAttendenceGridPopUp();
                }
            }
        }
 
        protected void rgAttendenceDetails_ItemDataBound(object sender, GridItemEventArgs e)
        {
 
        }
 
        protected void rbOk_Click(object sender, EventArgs e)
        {
            objAttendenceDetailsEntities.EmployeId = EmpId;
            objAttendenceDetailsEntities.Date = Convert.ToDateTime(rtxtDate.Text);
            objAttendenceDetailsEntities.RequestComment = rtbxComments.Text;
            objAttendenceDetailsEntities.ResponseComment = "";
            objAttendenceDetailsEntities.TypeId = Convert.ToInt32(rcbxType.SelectedValue);
            objAttendenceDetailsEntities.Status = "";
            objAttendenceDetailsDAO.SaveStatusDetails(objAttendenceDetailsEntities);
        }
 
        protected void rbSendMail_Click(object sender, EventArgs e)
        {
            Emailclass objEmailclass = new Emailclass();
            string[] cc = { "naveen.kacham@mediaus.com" };
            objEmailclass.SendMailMessage("naveen.kacham@mediaus.com", cc, "TestingMail", "Testing");
        }
 
        protected void rbClose_Click(object sender, EventArgs e)
        {
            rwdAttendenceDetails.VisibleOnPageLoad = false;
        }
 
 
        protected void rgMyAttendenceDetails_NeedDataSource(object sender, Telerik.Web.UI.GridNeedDataSourceEventArgs e)
        {
            //rgMyAttendenceDetails.DataSource = new int[] { };
        }
 
        private void LoadAttendenceGrid()
        {
            string[] strEmplId = objAttendenceDetailsEntities.EmployeId.Split(',');
 
            DataSet dataSet = new DataSet();
            dataSet = objAttendenceDetailsDAO.GetFullAttendenceDetails(objAttendenceDetailsEntities);
            dataSet.Tables[0].DefaultView.Sort = "Att_Date";
            rgAttendenceDetails.AutoGenerateColumns = false;
            rgAttendenceDetails.MasterTableView.AutoGenerateColumns = false;
 
            DataTable dtAttendence = new DataTable();
            DataColumn dc = new DataColumn();
            DataColumn dcCol2 = new DataColumn();
            GridBoundColumn boundColumn = new GridBoundColumn();
            //GridBoundColumn bndcolPresent = new GridBoundColumn();
            //GridBoundColumn bndcolLeave = new GridBoundColumn();
            //GridBoundColumn bndcolHoliday = new GridBoundColumn();
            //GridBoundColumn bndcolCompOff = new GridBoundColumn();
            //GridBoundColumn bndcolTempId = new GridBoundColumn();
            //GridBoundColumn bndcolWorkFromHome = new GridBoundColumn();
            //GridBoundColumn bndcolRegular = new GridBoundColumn();
            //GridBoundColumn bndcolAbsent = new GridBoundColumn();
            //GridButtonColumn lnkbtnLeave = new GridButtonColumn();
            //GridButtonColumn lnkbtnHoliday = new GridButtonColumn();
            //GridButtonColumn lnkbtnCompOff = new GridButtonColumn();
            //GridButtonColumn lnkbtnTempId = new GridButtonColumn();
            //GridButtonColumn lnkbtnWorkFromHome = new GridButtonColumn();
            //GridButtonColumn lnkbtnRegular = new GridButtonColumn();
            //GridButtonColumn lnkbtnAbsent = new GridButtonColumn();
 
            GridTemplateColumn tempcolPresentType = new GridTemplateColumn();
            GridTemplateColumn tempcolLeaveType = new GridTemplateColumn();
            GridTemplateColumn tempcolHolidayType = new GridTemplateColumn();
            GridTemplateColumn tempcolCompOffType = new GridTemplateColumn();
            GridTemplateColumn tempcolTempIdType = new GridTemplateColumn();
            GridTemplateColumn tempcolWorkHomeType = new GridTemplateColumn();
            GridTemplateColumn tempcolRegularType = new GridTemplateColumn();
            GridTemplateColumn tempcolAbsentType = new GridTemplateColumn();
 
 
 
            for (int iLength = 0; iLength < strEmplId.Length; iLength++)
            {
                DataRow[] dr = dataSet.Tables[0].Select("Emp_ID='" + strEmplId[iLength] + "'");
 
                DataRow drRow = dtAttendence.NewRow();
 
                if (dr.Length + 1 != dtAttendence.Columns.Count)
                {
                    boundColumn = new GridBoundColumn();
                    boundColumn.HeaderText = "Employee Id";
                    boundColumn.DataField = "Emp_ID";
                    boundColumn.UniqueName = "Emp_ID";
                    dc.ColumnName = "Emp_ID";
                    dtAttendence.Columns.Add(dc);
                    rgAttendenceDetails.MasterTableView.Columns.Add(boundColumn);
                }
                drRow[dc.ColumnName] = dr[iLength]["Emp_ID"].ToString();
 
                for (int i = 0; i < dr.Length; i++)
                {
                    if (dr.Length + 1 != dtAttendence.Columns.Count)
                    {
                        dcCol2 = new DataColumn();
                        dtAttendence.Columns.Add(dcCol2);
                        dcCol2.ColumnName = dr[i]["Att_Date"].ToString();
                    }
 
                    string AttendenceType = dr[i]["Details"].ToString();
 
                    if (AttendenceType == AttendenceDetailsDAO.AttendenceType.Present.ToString())
                    {
                        //bndcolPresent = new GridBoundColumn();
                        //bndcolPresent.HeaderText = dr[i]["Day"].ToString();
                        //bndcolPresent.UniqueName = dcCol2.ColumnName;
                        //bndcolPresent.DataField = dcCol2.ColumnName;
                        //rgAttendenceDetails.MasterTableView.Columns.Add(bndcolPresent);
                        //bndcolPresent.ItemStyle.BackColor = Color.FromName("White");
                        //bndcolPresent.ItemStyle.ForeColor = Color.Black;
 
                        tempcolPresentType = new GridTemplateColumn();
                        tempcolPresentType.HeaderText = dr[i]["Day"].ToString();
                        string strcolName = dcCol2.ColumnName;
                        tempcolPresentType.ItemTemplate = new MyTemplate(strcolName, "false", ListItemType.Item);
                        tempcolPresentType.UniqueName = dcCol2.ColumnName;
                        tempcolPresentType.DataField = dcCol2.ColumnName;
                        tempcolPresentType.ItemStyle.BackColor = Color.FromName("White");
                        tempcolPresentType.ItemStyle.ForeColor = Color.Black;
 
                        if (dr.Length != rgAttendenceDetails.Columns.Count - 1)
                        {
                            rgAttendenceDetails.MasterTableView.Columns.Add(tempcolPresentType);
                        }
                        drRow[dr[i]["Att_Date"].ToString()] = dr[i]["Details"].ToString();
                    }
                    else if (AttendenceType == AttendenceDetailsDAO.AttendenceType.Leave.ToString())
                    {
                        TimeSpan tsWorkedHours = TimeSpan.Parse(dr[i]["WorkedHours"].ToString());
 
                        if (tsWorkedHours == TimeSpan.Zero)
                        {
                            //bndcolLeave = new GridBoundColumn();
                            //bndcolLeave.HeaderText = dr[i]["Day"].ToString();
                            //bndcolLeave.UniqueName = dcCol2.ColumnName;
                            //bndcolLeave.DataField = dcCol2.ColumnName;
                            //rgAttendenceDetails.MasterTableView.Columns.Add(bndcolLeave);
                            //bndcolLeave.ItemStyle.BackColor = Color.FromName("#FFFF99");
                            //bndcolLeave.ItemStyle.ForeColor = Color.Black;
 
                            tempcolLeaveType = new GridTemplateColumn();
                            tempcolLeaveType.HeaderText = dr[i]["Day"].ToString();
                            string strcolName = dcCol2.ColumnName;
                            tempcolLeaveType.ItemTemplate = new MyTemplate(strcolName, "false", ListItemType.Item);
                            tempcolLeaveType.UniqueName = dcCol2.ColumnName;
                            tempcolLeaveType.DataField = dcCol2.ColumnName;
                            tempcolLeaveType.ItemStyle.BackColor = Color.FromName("#FFFF99");
                            tempcolLeaveType.ItemStyle.ForeColor = Color.Black;
 
                            if (dr.Length != rgAttendenceDetails.Columns.Count - 1)
                            {
                                rgAttendenceDetails.MasterTableView.Columns.Add(tempcolLeaveType);
                            }
                            drRow[dr[i]["Att_Date"].ToString()] = dr[i]["Details"].ToString();
                        }
                        else
                        {
                            //lnkbtnLeave = new GridButtonColumn();
                            //lnkbtnLeave.ButtonType = GridButtonColumnType.LinkButton;
                            //lnkbtnLeave.HeaderText = dr[i]["Day"].ToString();
                            //lnkbtnLeave.UniqueName = dcCol2.ColumnName;
                            //lnkbtnLeave.DataTextField = dcCol2.ColumnName;
                            //lnkbtnLeave.ItemStyle.BackColor = Color.FromName("#FFFF99");
                            //lnkbtnLeave.ItemStyle.ForeColor = Color.Blue;
                            //lnkbtnLeave.CommandName = "AttendenceCheck";
                            //lnkbtnLeave.CommandArgument = dr[i]["Att_Date"].ToString();
                            //rgAttendenceDetails.MasterTableView.Columns.Add(lnkbtnLeave);
 
                            tempcolLeaveType = new GridTemplateColumn();
                            tempcolLeaveType.HeaderText = dr[i]["Day"].ToString();
                            string strcolName = dcCol2.ColumnName;
                            tempcolLeaveType.ItemTemplate = new MyTemplate(strcolName, "true", ListItemType.Item);
                            tempcolLeaveType.UniqueName = dcCol2.ColumnName;
                            tempcolLeaveType.DataField = dcCol2.ColumnName;
                            tempcolLeaveType.ItemStyle.BackColor = Color.FromName("#FFFF99");
                            tempcolLeaveType.ItemStyle.ForeColor = Color.Blue;
 
                            if (dr.Length != rgAttendenceDetails.Columns.Count - 1)
                            {
                                rgAttendenceDetails.MasterTableView.Columns.Add(tempcolLeaveType);
                            }
                            drRow[dr[i]["Att_Date"].ToString()] = dr[i]["WorkedHours"].ToString().Remove(5);
                        }
                    }
                    else if (AttendenceType == AttendenceDetailsDAO.AttendenceType.Holiday.ToString() || AttendenceType == AttendenceDetailsDAO.AttendenceType.RestrictedHoliday.ToString())
                    {
                        TimeSpan tsWorkedHours = TimeSpan.Parse(dr[i]["WorkedHours"].ToString());
 
                        if (tsWorkedHours == TimeSpan.Zero)
                        {
                            //bndcolHoliday = new GridBoundColumn();
                            //bndcolHoliday.HeaderText = dr[i]["Day"].ToString();
                            //bndcolHoliday.UniqueName = dcCol2.ColumnName;
                            //bndcolHoliday.DataField = dcCol2.ColumnName;
                            //bndcolHoliday.ItemStyle.BackColor = Color.FromName("#31849B");
                            //bndcolHoliday.ItemStyle.ForeColor = Color.Black;
                            //rgAttendenceDetails.MasterTableView.Columns.Add(bndcolHoliday);
 
                            tempcolHolidayType = new GridTemplateColumn();
                            tempcolHolidayType.HeaderText = dr[i]["Day"].ToString();
                            string strcolName = dcCol2.ColumnName;
                            tempcolHolidayType.ItemTemplate = new MyTemplate(strcolName, "false", ListItemType.Item);
                            tempcolHolidayType.UniqueName = dcCol2.ColumnName;
                            tempcolHolidayType.DataField = dcCol2.ColumnName;
                            tempcolHolidayType.ItemStyle.BackColor = Color.FromName("#31849B");
                            tempcolHolidayType.ItemStyle.ForeColor = Color.Black;
 
                            if (dr.Length != rgAttendenceDetails.Columns.Count - 1)
                            {
                                rgAttendenceDetails.MasterTableView.Columns.Add(tempcolHolidayType);
                            }
                            drRow[dr[i]["Att_Date"].ToString()] = dr[i]["Details"].ToString();
                        }
                        else
                        {
                            //lnkbtnHoliday = new GridButtonColumn();
                            //lnkbtnHoliday.ButtonType = GridButtonColumnType.LinkButton;
                            //lnkbtnHoliday.HeaderText = dr[i]["Day"].ToString();
                            //lnkbtnHoliday.UniqueName = dcCol2.ColumnName;
                            //lnkbtnHoliday.DataTextField = dcCol2.ColumnName;
                            //rgAttendenceDetails.MasterTableView.Columns.Add(lnkbtnHoliday);
                            //lnkbtnHoliday.ItemStyle.BackColor = Color.FromName("#31849B");
                            //lnkbtnHoliday.ItemStyle.ForeColor = Color.Blue;
                            //lnkbtnHoliday.CommandName = "AttendenceCheck";
                            //lnkbtnHoliday.CommandArgument = dr[i]["Att_Date"].ToString();
 
                            tempcolHolidayType = new GridTemplateColumn();
                            tempcolHolidayType.HeaderText = dr[i]["Day"].ToString();
                            string strcolName = dcCol2.ColumnName;
                            tempcolHolidayType.ItemTemplate = new MyTemplate(strcolName, "true", ListItemType.Item);
                            tempcolHolidayType.UniqueName = dcCol2.ColumnName;
                            tempcolHolidayType.DataField = dcCol2.ColumnName;
                            tempcolHolidayType.ItemStyle.BackColor = Color.FromName("#31849B");
                            tempcolHolidayType.ItemStyle.ForeColor = Color.Blue;
                            if (dr.Length != rgAttendenceDetails.Columns.Count - 1)
                            {
                                rgAttendenceDetails.MasterTableView.Columns.Add(tempcolHolidayType);
                            }
                            drRow[dr[i]["Att_Date"].ToString()] = dr[i]["WorkedHours"].ToString().Remove(5);
                        }
                    }
                    else if (AttendenceType == AttendenceDetailsDAO.AttendenceType.CompOFF.ToString())
                    {
                        TimeSpan tsWorkedHours = TimeSpan.Parse(dr[i]["WorkedHours"].ToString());
 
                        if (tsWorkedHours == TimeSpan.Zero)
                        {
                            //bndcolCompOff = new GridBoundColumn();
                            //bndcolCompOff.HeaderText = dr[i]["Day"].ToString();
                            //bndcolCompOff.UniqueName = dcCol2.ColumnName;
                            //bndcolCompOff.DataField = dcCol2.ColumnName;
                            //rgAttendenceDetails.MasterTableView.Columns.Add(bndcolCompOff);
                            //bndcolCompOff.ItemStyle.BackColor = Color.FromName("#E6B9B8");
                            //bndcolCompOff.ItemStyle.ForeColor = Color.Black;
 
                            tempcolCompOffType = new GridTemplateColumn();
                            tempcolCompOffType.HeaderText = dr[i]["Day"].ToString();
                            string strcolName = dcCol2.ColumnName;
                            tempcolCompOffType.ItemTemplate = new MyTemplate(strcolName, "false", ListItemType.Item);
                            tempcolCompOffType.UniqueName = dcCol2.ColumnName;
                            tempcolCompOffType.DataField = dcCol2.ColumnName;
                            tempcolCompOffType.ItemStyle.BackColor = Color.FromName("#E6B9B8");
                            tempcolCompOffType.ItemStyle.ForeColor = Color.Black;
 
                            if (dr.Length != rgAttendenceDetails.Columns.Count - 1)
                            {
                                rgAttendenceDetails.MasterTableView.Columns.Add(tempcolCompOffType);
                            }
                            drRow[dr[i]["Att_Date"].ToString()] = dr[i]["Details"].ToString();
                        }
                        else
                        {
                            //lnkbtnCompOff = new GridButtonColumn();
                            //lnkbtnCompOff.ButtonType = GridButtonColumnType.LinkButton;
                            //lnkbtnCompOff.HeaderText = dr[i]["Day"].ToString();
                            //lnkbtnCompOff.UniqueName = dcCol2.ColumnName;
                            //lnkbtnCompOff.DataTextField = dcCol2.ColumnName;
                            //lnkbtnCompOff.ItemStyle.BackColor = Color.FromName("#E6B9B8");
                            //lnkbtnCompOff.ItemStyle.ForeColor = Color.Blue;
                            //lnkbtnCompOff.CommandName = "AttendenceCheck";
                            //lnkbtnCompOff.CommandArgument = dr[i]["Att_Date"].ToString();
                            //rgAttendenceDetails.MasterTableView.Columns.Add(lnkbtnCompOff);
 
                            tempcolCompOffType = new GridTemplateColumn();
                            tempcolCompOffType.HeaderText = dr[i]["Day"].ToString();
                            string strcolName = dcCol2.ColumnName;
                            tempcolCompOffType.ItemTemplate = new MyTemplate(strcolName, "true", ListItemType.Item);
                            tempcolCompOffType.UniqueName = dcCol2.ColumnName;
                            tempcolCompOffType.DataField = dcCol2.ColumnName;
                            tempcolCompOffType.ItemStyle.BackColor = Color.FromName("#E6B9B8");
                            tempcolCompOffType.ItemStyle.ForeColor = Color.Blue;
 
                            if (dr.Length != rgAttendenceDetails.Columns.Count - 1)
                            {
                                rgAttendenceDetails.MasterTableView.Columns.Add(tempcolCompOffType);
                            }
                            drRow[dr[i]["Att_Date"].ToString()] = dr[i]["WorkedHours"].ToString().Remove(5);
                        }
                    }
                    else if (AttendenceType == AttendenceDetailsDAO.AttendenceType.TemporaryId.ToString())
                    {
                        TimeSpan tsWorkedHours = TimeSpan.Parse(dr[i]["WorkedHours"].ToString());
 
                        if (tsWorkedHours == TimeSpan.Zero)
                        {
                            //bndcolTempId = new GridBoundColumn();
                            //bndcolTempId.HeaderText = dr[i]["Day"].ToString();
                            //bndcolTempId.UniqueName = dcCol2.ColumnName;
                            //bndcolTempId.DataField = dcCol2.ColumnName;
                            //bndcolTempId.ItemStyle.BackColor = Color.FromName("#538ED5");
                            //bndcolTempId.ItemStyle.ForeColor = Color.Black;
                            //rgAttendenceDetails.MasterTableView.Columns.Add(bndcolTempId);
 
                            tempcolTempIdType = new GridTemplateColumn();
                            tempcolTempIdType.HeaderText = dr[i]["Day"].ToString();
                            string strcolName = dcCol2.ColumnName;
                            tempcolTempIdType.ItemTemplate = new MyTemplate(strcolName, "false", ListItemType.Item);
                            tempcolTempIdType.UniqueName = dcCol2.ColumnName;
                            tempcolTempIdType.DataField = dcCol2.ColumnName;
                            tempcolTempIdType.ItemStyle.BackColor = Color.FromName("#538ED5");
                            tempcolTempIdType.ItemStyle.ForeColor = Color.Black;
 
                            if (dr.Length != rgAttendenceDetails.Columns.Count - 1)
                            {
                                rgAttendenceDetails.MasterTableView.Columns.Add(tempcolTempIdType);
                            }
                            drRow[dr[i]["Att_Date"].ToString()] = dr[i]["Details"].ToString();
                        }
                        else
                        {
                            //lnkbtnTempId = new GridButtonColumn();
                            //lnkbtnTempId.ButtonType = GridButtonColumnType.LinkButton;
                            //lnkbtnTempId.HeaderText = dr[i]["Day"].ToString();
                            //lnkbtnTempId.UniqueName = dcCol2.ColumnName;
                            //lnkbtnTempId.DataTextField = dcCol2.ColumnName;
                            //lnkbtnTempId.ItemStyle.BackColor = Color.FromName("#538ED5");
                            //lnkbtnTempId.ItemStyle.ForeColor = Color.Blue;
                            //lnkbtnTempId.CommandName = "AttendenceCheck";
                            //lnkbtnTempId.CommandArgument = dr[i]["Att_Date"].ToString();
                            //rgAttendenceDetails.MasterTableView.Columns.Add(lnkbtnTempId);
 
                            tempcolTempIdType = new GridTemplateColumn();
                            tempcolTempIdType.HeaderText = dr[i]["Day"].ToString();
                            string strcolName = dcCol2.ColumnName;
                            tempcolTempIdType.ItemTemplate = new MyTemplate(strcolName, "true", ListItemType.Item);
                            tempcolTempIdType.UniqueName = dcCol2.ColumnName;
                            tempcolTempIdType.DataField = dcCol2.ColumnName;
                            tempcolTempIdType.ItemStyle.BackColor = Color.FromName("#538ED5");
                            tempcolTempIdType.ItemStyle.ForeColor = Color.Blue;
 
                            if (dr.Length != rgAttendenceDetails.Columns.Count - 1)
                            {
                                rgAttendenceDetails.MasterTableView.Columns.Add(tempcolTempIdType);
                            }
                            drRow[dr[i]["Att_Date"].ToString()] = dr[i]["WorkedHours"].ToString().Remove(5);
                        }
                    }
                    else if (AttendenceType == AttendenceDetailsDAO.AttendenceType.WorkFromHome.ToString())
                    {
                        TimeSpan tsWorkedHours = TimeSpan.Parse(dr[i]["WorkedHours"].ToString());
 
                        if (tsWorkedHours == TimeSpan.Zero)
                        {
                            //bndcolWorkFromHome = new GridBoundColumn();
                            //bndcolWorkFromHome.HeaderText = dr[i]["Day"].ToString();
                            //bndcolWorkFromHome.UniqueName = dcCol2.ColumnName;
                            //bndcolWorkFromHome.DataField = dcCol2.ColumnName;
                            //bndcolWorkFromHome.ItemStyle.BackColor = Color.FromName("#33CC33");
                            //bndcolWorkFromHome.ItemStyle.ForeColor = Color.Black;
                            //rgAttendenceDetails.MasterTableView.Columns.Add(bndcolWorkFromHome);
 
                            tempcolWorkHomeType = new GridTemplateColumn();
                            tempcolWorkHomeType.HeaderText = dr[i]["Day"].ToString();
                            string strcolName = dcCol2.ColumnName;
                            tempcolWorkHomeType.ItemTemplate = new MyTemplate(strcolName, "false", ListItemType.Item);
                            tempcolWorkHomeType.UniqueName = dcCol2.ColumnName;
                            tempcolWorkHomeType.DataField = dcCol2.ColumnName;
                            tempcolWorkHomeType.ItemStyle.BackColor = Color.FromName("#33CC33");
                            tempcolWorkHomeType.ItemStyle.ForeColor = Color.Black;
 
                            if (dr.Length + 1 != rgAttendenceDetails.Columns.Count - 1)
                            {
                                rgAttendenceDetails.MasterTableView.Columns.Add(tempcolWorkHomeType);
                            }
                            drRow[dr[i]["Att_Date"].ToString()] = dr[i]["Details"].ToString();
                        }
                        else
                        {
                            //lnkbtnWorkFromHome = new GridButtonColumn();
                            //lnkbtnWorkFromHome.ButtonType = GridButtonColumnType.LinkButton;
                            //lnkbtnWorkFromHome.HeaderText = dr[i]["Day"].ToString();
                            //lnkbtnWorkFromHome.UniqueName = dcCol2.ColumnName;
                            //lnkbtnWorkFromHome.DataTextField = dcCol2.ColumnName;
                            //lnkbtnWorkFromHome.ItemStyle.BackColor = Color.FromName("#33CC33");
                            //lnkbtnWorkFromHome.ItemStyle.ForeColor = Color.Blue;
                            //lnkbtnWorkFromHome.CommandName = "AttendenceCheck";
                            //lnkbtnWorkFromHome.CommandArgument = dr[i]["Att_Date"].ToString();
                            //rgAttendenceDetails.MasterTableView.Columns.Add(lnkbtnWorkFromHome);
 
                            tempcolWorkHomeType = new GridTemplateColumn();
                            tempcolWorkHomeType.HeaderText = dr[i]["Day"].ToString();
                            string strcolName = dcCol2.ColumnName;
                            tempcolWorkHomeType.ItemTemplate = new MyTemplate(strcolName, "true", ListItemType.Item);
                            tempcolWorkHomeType.UniqueName = dcCol2.ColumnName;
                            tempcolWorkHomeType.DataField = dcCol2.ColumnName;
                            tempcolWorkHomeType.ItemStyle.BackColor = Color.FromName("#33CC33");
                            tempcolWorkHomeType.ItemStyle.ForeColor = Color.Blue;
 
                            if (dr.Length != rgAttendenceDetails.Columns.Count - 1)
                            {
                                rgAttendenceDetails.MasterTableView.Columns.Add(tempcolWorkHomeType);
                            }
                            drRow[dr[i]["Att_Date"].ToString()] = dr[i]["WorkedHours"].ToString().Remove(5);
                        }
                    }
                    else if (AttendenceType == AttendenceDetailsDAO.AttendenceType.Regular.ToString())
                    {
                        TimeSpan tsWorkedHours = TimeSpan.Parse(dr[i]["WorkedHours"].ToString());
 
                        if (tsWorkedHours == TimeSpan.Zero)
                        {
                            //bndcolRegular = new GridBoundColumn();
                            //bndcolRegular.HeaderText = dr[i]["Day"].ToString();
                            //bndcolRegular.UniqueName = dcCol2.ColumnName;
                            //bndcolRegular.DataField = dcCol2.ColumnName;
                            //bndcolRegular.ItemStyle.BackColor = Color.FromName("#996633");
                            //bndcolRegular.ItemStyle.ForeColor = Color.Black;
                            //rgAttendenceDetails.MasterTableView.Columns.Add(bndcolRegular);
 
                            tempcolRegularType = new GridTemplateColumn();
                            tempcolRegularType.HeaderText = dr[i]["Day"].ToString();
                            string strcolName = dcCol2.ColumnName;
                            tempcolRegularType.ItemTemplate = new MyTemplate(strcolName, "false", ListItemType.Item);
                            tempcolRegularType.UniqueName = dcCol2.ColumnName;
                            tempcolRegularType.DataField = dcCol2.ColumnName;
                            tempcolRegularType.ItemStyle.BackColor = Color.FromName("#996633");
                            tempcolRegularType.ItemStyle.ForeColor = Color.Black;
 
                            if (dr.Length != rgAttendenceDetails.Columns.Count - 1)
                            {
                                rgAttendenceDetails.MasterTableView.Columns.Add(tempcolRegularType);
                            }
                            drRow[dr[i]["Att_Date"].ToString()] = dr[i]["Details"].ToString();
                        }
                        else
                        {
                            //lnkbtnRegular = new GridButtonColumn();
                            //lnkbtnRegular.ButtonType = GridButtonColumnType.LinkButton;
                            //lnkbtnRegular.HeaderText = dr[i]["Day"].ToString();
                            //lnkbtnRegular.UniqueName = dcCol2.ColumnName;
                            //lnkbtnRegular.DataTextField = dcCol2.ColumnName;
                            //lnkbtnRegular.ItemStyle.BackColor = Color.FromName("#996633");
                            //lnkbtnRegular.ItemStyle.ForeColor = Color.Blue;
                            //lnkbtnRegular.CommandName = "AttendenceCheck";
                            //lnkbtnRegular.CommandArgument = dr[i]["Att_Date"].ToString();
                            //rgAttendenceDetails.MasterTableView.Columns.Add(lnkbtnRegular);
 
                            tempcolRegularType = new GridTemplateColumn();
                            tempcolRegularType.HeaderText = dr[i]["Day"].ToString();
                            string strcolName = dcCol2.ColumnName;
                            tempcolRegularType.ItemTemplate = new MyTemplate(strcolName, "true", ListItemType.Item);
                            tempcolRegularType.UniqueName = dcCol2.ColumnName;
                            tempcolRegularType.DataField = dcCol2.ColumnName;
                            tempcolRegularType.ItemStyle.BackColor = Color.FromName("#996633");
                            tempcolRegularType.ItemStyle.ForeColor = Color.Blue;
 
                            if (dr.Length != rgAttendenceDetails.Columns.Count - 1)
                            {
                                rgAttendenceDetails.MasterTableView.Columns.Add(tempcolRegularType);
                            }
                            drRow[dr[i]["Att_Date"].ToString()] = dr[i]["WorkedHours"].ToString().Remove(5);
                        }
                    }
                    else if (AttendenceType == AttendenceDetailsDAO.AttendenceType.Absent.ToString())
                    {
                        TimeSpan tsWorkedHours = TimeSpan.Parse(dr[i]["WorkedHours"].ToString());
 
                        if (tsWorkedHours != TimeSpan.Zero)
                        {
                            //lnkbtnAbsent = new GridButtonColumn();
                            //lnkbtnAbsent.ButtonType = GridButtonColumnType.LinkButton;
                            //lnkbtnAbsent.HeaderText = dr[i]["Day"].ToString();
                            //lnkbtnAbsent.UniqueName = dcCol2.ColumnName;
                            //lnkbtnAbsent.DataTextField = dcCol2.ColumnName;
                            //lnkbtnAbsent.ItemStyle.BackColor = Color.FromName("#C00000");
                            //lnkbtnAbsent.ItemStyle.ForeColor = Color.Blue;
                            //lnkbtnAbsent.CommandName = "AttendenceCheck";
                            //lnkbtnAbsent.CommandArgument = dr[i]["Att_Date"].ToString();
                            //rgAttendenceDetails.MasterTableView.Columns.Add(lnkbtnAbsent);
 
                            tempcolAbsentType = new GridTemplateColumn();
                            tempcolAbsentType.HeaderText = dr[i]["Day"].ToString();
                            string strcolName = dcCol2.ColumnName;
                            tempcolAbsentType.ItemTemplate = new MyTemplate(strcolName, "true", ListItemType.Item);
                            tempcolAbsentType.UniqueName = dcCol2.ColumnName;
                            tempcolAbsentType.DataField = dcCol2.ColumnName;
                            tempcolAbsentType.ItemStyle.BackColor = Color.FromName("#C00000");
                            tempcolAbsentType.ItemStyle.ForeColor = Color.Blue;
 
                            if (dr.Length != rgAttendenceDetails.Columns.Count - 1)
                            {
                                rgAttendenceDetails.MasterTableView.Columns.Add(tempcolAbsentType);
                            }
                            drRow[dr[i]["Att_Date"].ToString()] = dr[i]["WorkedHours"].ToString().Remove(5);
                        }
                        else
                        {
                            //bndcolAbsent = new GridBoundColumn();
                            //bndcolAbsent.HeaderText = dr[i]["Day"].ToString();
                            //bndcolAbsent.UniqueName = dr[i]["Att_Date"].ToString();
                            //bndcolAbsent.DataField = dr[i]["Att_Date"].ToString();
                            //bndcolAbsent.ItemStyle.BackColor = Color.FromName("#C00000");
                            //bndcolAbsent.ItemStyle.ForeColor = Color.Black;
                            //rgAttendenceDetails.MasterTableView.Columns.Add(bndcolAbsent);
 
                            tempcolAbsentType = new GridTemplateColumn();
                            tempcolAbsentType.HeaderText = dr[i]["Day"].ToString();
                            string strcolName = dcCol2.ColumnName;
                            tempcolAbsentType.ItemTemplate = new MyTemplate(strcolName, "false", ListItemType.Item);
                            tempcolAbsentType.UniqueName = dcCol2.ColumnName;
                            tempcolAbsentType.DataField = dcCol2.ColumnName;
                            tempcolAbsentType.ItemStyle.BackColor = Color.FromName("#C00000");
                            tempcolAbsentType.ItemStyle.ForeColor = Color.Black;
                            if (dr.Length != rgAttendenceDetails.Columns.Count - 1)
                            {
                                rgAttendenceDetails.MasterTableView.Columns.Add(tempcolAbsentType);
                            }
                            drRow[dr[i]["Att_Date"].ToString()] = dr[i]["Details"].ToString();
                        }
                    }
                }
                dtAttendence.Rows.Add(drRow);
 
            }
 
            rgAttendenceDetails.DataSource = dtAttendence;
            rgAttendenceDetails.DataBind();
        }
 
        private ArrayList GetCheckedItems()
        {
            ArrayList checkedItems = new ArrayList();
 
            foreach (RadComboBoxItem item in rcbxEmployee.Items)
            {
                CheckBox checkBox = (CheckBox)item.FindControl("chkEmployee");
 
                if (checkBox.Checked)
                {
                    checkedItems.Add(item);
                }
            }
            return checkedItems;
        }
 
        private void LoadRadCmboxType()
        {
            List<AttendenceDetailsEntities> objAttendenceDetailsEntitiesList = null;
            objAttendenceDetailsEntities = null;
            objAttendenceDetailsEntitiesList = objAttendenceDetailsDAO.GetTypes();
            rcbxType.DataSource = objAttendenceDetailsEntitiesList;
            rcbxType.DataValueField = "TypeId";
            rcbxType.DataTextField = "TypeName";
            rcbxType.DataBind();
        }
 
        private void LoadRadCboxEmployee()
        {
            List<AttendenceDetailsEntities> objAttendenceDetailsEntitiesList = null;
            objAttendenceDetailsEntities.EmployeId = EmpId;
            objAttendenceDetailsEntitiesList = objAttendenceDetailsDAO.GetEmployeeName(objAttendenceDetailsEntities);
            rcbxEmployee.DataSource = objAttendenceDetailsEntitiesList;
            rcbxEmployee.DataTextField = "EmployeId";
            this.rcbxEmployee.DataBind();
        }
 
        private void LoadAttendenceGridPopUp()
        {
            DataSet AttdataSet = new DataSet();
            AttdataSet = objAttendenceDetailsDAO.GetAttPunchedInandOutDtls(objAttendenceDetailsEntities);
            DataTable dtAttendence = new DataTable();
            DataRow drAttendence = null;
 
            dtAttendence.Columns.Add("PunchIn", typeof(string));
            dtAttendence.Columns.Add("PunchOut", typeof(string));
            dtAttendence.Columns.Add("PunchIn2", typeof(string));
            dtAttendence.Columns.Add("PunchOut2", typeof(string));
            dtAttendence.Columns.Add("PunchIn3", typeof(string));
            dtAttendence.Columns.Add("PunchOut3", typeof(string));
            dtAttendence.Columns.Add("PunchIn4", typeof(string));
            dtAttendence.Columns.Add("PunchOut4", typeof(string));
 
            drAttendence = dtAttendence.NewRow();
 
            for (int i = 0; i < AttdataSet.Tables[0].Rows.Count; i++)
            {
                if (i == 0)
                {
                    drAttendence["PunchIn"] = AttdataSet.Tables[0].Rows[i]["Punch_In"].ToString().Remove(5);
                    drAttendence["PunchOut"] = AttdataSet.Tables[0].Rows[i]["Punch_Out"].ToString().Remove(5);
                }
                else if (i == 1)
                {
                    drAttendence["PunchIn2"] = AttdataSet.Tables[0].Rows[i]["Punch_In"].ToString().Remove(5);
                    drAttendence["PunchOut2"] = AttdataSet.Tables[0].Rows[i]["Punch_Out"].ToString().Remove(5);
                }
                else if (i == 2)
                {
                    drAttendence["PunchIn3"] = AttdataSet.Tables[0].Rows[i]["Punch_In"].ToString().Remove(5);
                    drAttendence["PunchOut3"] = AttdataSet.Tables[0].Rows[i]["Punch_Out"].ToString().Remove(5);
                }
                else if (i == 3)
                {
                    drAttendence["PunchIn4"] = AttdataSet.Tables[0].Rows[i]["Punch_In"].ToString().Remove(5);
                    drAttendence["PunchOut4"] = AttdataSet.Tables[0].Rows[i]["Punch_Out"].ToString().Remove(5);
                }
            }
            dtAttendence.Rows.Add(drAttendence);
            rgMyAttendenceDetails.DataSource = dtAttendence;
            rgMyAttendenceDetails.DataBind();
            LoadRadCmboxType();
        }
 
        private class MyTemplate : ITemplate, IBindableTemplate
        {
            protected LinkButton lnkButton;
            protected LiteralControl lControl;
            private string colname;
            private string controlType;
            private ListItemType lstItemType;
            private string controlId;
            private string literalId;
            private string lnkbuttonId;
 
            public MyTemplate(string CName, string ctlType, ListItemType type)
            {
                this.colname = CName;
                this.controlType = ctlType; ;
                this.lstItemType = type;
                literalId = "lbl_" + type.ToString() + "_" + CName;
                lnkbuttonId = "lnk_" + type.ToString() + "_" + CName;
            }
 
            public void InstantiateIn(System.Web.UI.Control container)
            {
                switch (lstItemType)
                {
                    case ListItemType.Item:
                        if (controlType == "true")
                        {
                            lnkButton = new LinkButton();
                            controlId = "lnk_" + lstItemType.ToString() + "_" + colname;
                            lnkButton.ID = controlId;
                            lnkButton.Enabled = true;
                            lnkButton.CommandName = "AttendenceCheck";
                            lnkButton.DataBinding += new EventHandler(lnkButton_DataBinding);
                            container.Controls.Add(lnkButton);
                        }
                        else if (controlType == "false")
                        {
                            lnkButton = new LinkButton();
                            controlId = "lnk_" + lstItemType.ToString() + "_" + colname;
                            lnkButton.ID = controlId;
                            lnkButton.Enabled = false;
                            lnkButton.DataBinding += new EventHandler(lnkButton_DataBinding);
                            container.Controls.Add(lnkButton);
                        }
                        break;
                }
            }
 
            public void lnkButton_DataBinding(object sender, EventArgs e)
            {
                LinkButton lnk = (LinkButton)sender;
                GridDataItem container = (GridDataItem)lnk.NamingContainer;
                lnk.Text = ((DataRowView)container.DataItem)[colname].ToString();
            }
 
            //public void lControl_DataBinding(object sender, EventArgs e)
            //{
            //    LiteralControl ltlControl = (LiteralControl)sender;
            //    GridDataItem container = (GridDataItem)ltlControl.NamingContainer;
            //    ltlControl.Text = ((DataRowView)container.DataItem)[colname].ToString();
            //}
 
            public System.Collections.Specialized.IOrderedDictionary ExtractValues(System.Web.UI.Control container)
            {
                OrderedDictionary od = new OrderedDictionary();
 
                od.Add("ProviderName", ((LinkButton)((GridDataItem)container).FindControl(controlId)).Text);
 
                return od;
            }
        }
    }
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Data;
using System.Data.SqlClient;
using MSI.DataAccess;
using Entities;
using MSI.Logging;
using System.Reflection;
using System.ComponentModel;
 
namespace AttendenceManagement.Business_Layer
{
    public class AttendenceDetailsDAO
    {
        //DataAccess objects Declared to set connection to Database.
        MSI.DataAccess.DataAccess objDataAccess = new MSI.DataAccess.DataAccess();
        Entities.DataAccess objdAccess = new Entities.DataAccess();
        LoggingClass objLoggingClass = new LoggingClass();
 
        /// <summary>
        ///Method Required to Declare Enums for Constants.
        /// </summary>
        public enum AttendenceType
        {
            [DescriptionAttribute("P")]
            Present = 1,
            [DescriptionAttribute("A")]
            Absent = 2,
            [DescriptionAttribute("H")]
            Holiday,
            [DescriptionAttribute("RH")]
            RestrictedHoliday,
            [DescriptionAttribute("C")]
            CompOFF,
            [DescriptionAttribute("L")]
            Leave,
            [DescriptionAttribute("T")]
            TemporaryId,
            [DescriptionAttribute("WH")]
            WorkFromHome,
            [DescriptionAttribute("R")]
            Regular
        }
 
 
 
        /// <summary>
        /// Method Requried to represent String Enums.
        /// </summary>
        /// <param name="value"></param>
        /// <returns></returns>
        public static string GetEnumDescription(Enum value)
        {
            FieldInfo fi = value.GetType().GetField(value.ToString());
 
            DescriptionAttribute[] attributes =
                (DescriptionAttribute[])fi.GetCustomAttributes(typeof(DescriptionAttribute), false);
 
            if (attributes != null && attributes.Length > 0)
                return attributes[0].Description;
            else
                return value.ToString();
        }
        /// <summary>
        /// Method to Reterive Attendence Details for an Employee for a given date.
        /// </summary>
        /// <param name="objAttDtls"></param>
        /// <returns></returns>
        public DataSet GetAttendenceDetails(AttendenceDetailsEntities objAttDtls)
        {
            try
            {
                SqlParameter[] sqlParameter = new SqlParameter[3];
                sqlParameter[0] = new SqlParameter("@FromDate", SqlDbType.Date);
                sqlParameter[0].Value = objAttDtls.FromDate;
                sqlParameter[1] = new SqlParameter("@ToDate", SqlDbType.Date);
                sqlParameter[1].Value = objAttDtls.ToDate;
                sqlParameter[2] = new SqlParameter("@EmpId", SqlDbType.NVarChar);
                sqlParameter[2].Value = objAttDtls.EmployeId;
                DataSet dataSet = new DataSet();
                dataSet = objDataAccess.GetDataSet("Attendence_SEL", sqlParameter);
                return dataSet;
            }
            catch (Exception ex)
            {
                objLoggingClass.WriteToErrorLog(ex.Message);
                throw ex;
            }
        }
 
        /// <summary>
        /// Method to Reterive Attendence Details by Concatenating Hours and Minutes.
        /// </summary>
        /// <param name="objAttDtls"></param>
        /// <returns></returns>
        public DataSet GetFullAttendenceDetails(AttendenceDetailsEntities objAttDtls)
        {
            DataSet configdataSet = new DataSet();
            configdataSet = GetConfigurationDetails();
            DataSet dataSet = new DataSet();
            TimeSpan tsWorkHoursDay;
            DataSet daTemp = new DataSet();
            daTemp = GetAttendenceDetails(objAttDtls);
            daTemp.Tables[0].Columns.Add("WorkedHours");
            daTemp.Tables[0].Columns.Add("Details");
            daTemp.Tables[0].Columns.Add("Day");
            DataSet dsLeaveType = new DataSet();
            dsLeaveType = GetLeaveTypeDetails(objAttDtls);
            string[] strarryEmpId = objAttDtls.EmployeId.Split(',');
 
            try
            {
                for (int iLength = 0; iLength <strarryEmpId.Length; iLength++)
                {
                    for (DateTime currDate = objAttDtls.FromDate.Date; currDate <= objAttDtls.ToDate.Date; currDate = currDate.AddDays(1))
                    {
                        //daTemp.Tables[0].DefaultView.Table.Select("Att_Date="+currDate.ToString());
                        string curdate = currDate.ToString("yyyy-MM-dd");
                        DataRow[] dr = daTemp.Tables[0].Select("Att_Date=#" + curdate + "# and Emp_ID='" + strarryEmpId[iLength].ToString() + "'");
                        //daTemp.Tables[0].DefaultView.RowFilter = "Att_Date=#"+curdate+"#";
                        DataRow[] drLeaveType = dsLeaveType.Tables[0].Select("Date=#" + curdate + "# and Emp_ID='" + strarryEmpId[iLength].ToString() + "'");
 
                        if (dr.Length != 0)
                        {
                            string strHoursWorked = Convert.ToString(dr[0]["Hours_worked"]);
                            string strMinsWorked = Convert.ToString(dr[0]["Minutes_worked"]);
                            string strAttType = Convert.ToString(dr[0]["Att_Type"]);
                            string strWorkHoursDay;
                            if (strHoursWorked != "" && strMinsWorked != "")
                            {
                                strWorkHoursDay = strHoursWorked + ":" + strMinsWorked;
                                tsWorkHoursDay = TimeSpan.Parse(strWorkHoursDay);
                            }
                            else
                            {
                                tsWorkHoursDay = TimeSpan.Zero;
                            }
 
                            string strConfigWorkHoursDay = Convert.ToString(configdataSet.Tables[0].Rows[0]["workHourDay"]);
                            TimeSpan tsConfigWorkHoursDay = TimeSpan.Parse(strConfigWorkHoursDay);
                            dr[0]["Day"] = currDate.Day;
                            dr[0]["WorkedHours"] = tsWorkHoursDay;
                            objAttDtls.Date = currDate;
                            
                            if (tsWorkHoursDay >= tsConfigWorkHoursDay)
                            {
                                dr[0]["Details"] = AttendenceType.Present;
                            }
                            else if (currDate.DayOfWeek.ToString() == "Sunday" || currDate.DayOfWeek.ToString() == "Saturday")
                            {
                                dr[0]["Details"] = AttendenceType.Holiday;
                            }
                            else if (strAttType == "TempID")
                            {
                                dr[0]["Details"] = AttendenceType.TemporaryId;
                            }
                            else if (strAttType == "WH")
                            {
                                dr[0]["Details"] = AttendenceType.WorkFromHome;
                            }
                            else if (strAttType == "Regular")
                            {
                                dr[0]["Details"] = AttendenceType.Regular;
                            }
                            else if (drLeaveType.Length != 0)
                            {
                                string strLeaveType = Convert.ToString(drLeaveType[0]["LeaveType"]);
                                if (strLeaveType == "CompOff")
                                {
                                    dr[0]["Details"] = AttendenceType.CompOFF;
                                }
                                else if (strLeaveType == "Leave")
                                {
                                    dr[0]["Details"] = AttendenceType.Leave;
                                }
                                else if (strLeaveType == "RH")
                                {
                                    dr[0]["Details"] = AttendenceType.RestrictedHoliday;
                                }
                                else if (strLeaveType == "Holiday")
                                {
                                    dr[0]["Details"] = AttendenceType.Holiday;
                                }
                            }
                            else
                            {
                                dr[0]["Details"] = AttendenceType.Absent;
                            }
 
                        }
                        else
                        {
                            DataRow drtemp = daTemp.Tables[0].NewRow();
                            drtemp["Emp_ID"] = strarryEmpId[iLength].ToString();
                            drtemp["Att_Date"] = curdate;
                            drtemp["Day"] = currDate.Day;
                            drtemp["WorkedHours"] = "00:00:00";
                            if (currDate.DayOfWeek.ToString() == "Sunday" || currDate.DayOfWeek.ToString() == "Saturday")
                            {
                                drtemp["Details"] = AttendenceType.Holiday;
 
                            }
                            else if (drLeaveType.Length != 0)
                            {
                                string strLeaveType = Convert.ToString(drLeaveType[0]["LeaveType"]);
                                if (strLeaveType == "CompOff")
                                {
                                    drtemp["Details"] = AttendenceType.CompOFF;
                                }
                                else if (strLeaveType == "Leave")
                                {
                                    drtemp["Details"] = AttendenceType.Leave;
                                }
                                else if (strLeaveType == "RH")
                                {
                                    drtemp["Details"] = AttendenceType.RestrictedHoliday;
                                }
                                else if (strLeaveType == "Holiday")
                                {
                                    drtemp["Details"] = AttendenceType.Holiday;
                                }
                            }
                            else
                            {
                                drtemp["Details"] = AttendenceType.Absent.ToString();
                            }
                            daTemp.Tables[0].Rows.Add(drtemp);
                        }
                    }
 
                }
                return daTemp;
            }
            catch (Exception ex)
            {
                objLoggingClass.WriteToErrorLog(ex.Message);
                throw ex;
            }
        }
 
        /// <summary>
        /// Method to Reterive Configuration Details.
        /// </summary>
        /// <returns></returns>
        public DataSet GetConfigurationDetails()
        {
            try
            {
                SqlParameter[] sqlParameter = new SqlParameter[0];
                DataSet configdataSet = new DataSet();
                configdataSet = objDataAccess.GetDataSet("ConfigurationSettings_Sel", sqlParameter);
                return configdataSet;
            }
            catch (Exception ex)
            {
                objLoggingClass.WriteToErrorLog(ex.Message);
                throw ex;
            }
        }
 
        /// <summary>
        /// Method to Reterive the Leave Type Details.
        /// </summary>
        /// <param name="objAttDtls"></param>
        /// <returns></returns>
        public DataSet GetLeaveTypeDetails(AttendenceDetailsEntities objAttDtls)
        {
            try
            {
                SqlParameter[] sqlParameter = new SqlParameter[3];
                sqlParameter[0] = new SqlParameter("@FromDate", SqlDbType.Date);
                sqlParameter[0].Value = objAttDtls.FromDate;
                sqlParameter[1] = new SqlParameter("@Todate", SqlDbType.Date);
                sqlParameter[1].Value = objAttDtls.ToDate;
                sqlParameter[2] = new SqlParameter("@EmpId", SqlDbType.NVarChar);
                sqlParameter[2].Value = objAttDtls.EmployeId;
                DataSet dataSet = new DataSet();
                dataSet = objDataAccess.GetDataSet("LeaveType_sel", sqlParameter);
                return dataSet;
 
            }
            catch (Exception ex)
            {
                objLoggingClass.WriteToErrorLog(ex.Message);
                throw ex;
            }
        }
 
        /// <summary>
        /// Method to Reterive the Attendence Punched In and Out Detials
        /// </summary>
        /// <param name="objAttDtls"></param>
        /// <returns></returns>
        public DataSet GetAttPunchedInandOutDtls(AttendenceDetailsEntities objAttDtls)
        {
            try
            {
                SqlParameter[] sqlParameter = new SqlParameter[2];
                sqlParameter[0] = new SqlParameter("@EmpId", SqlDbType.NVarChar);
                sqlParameter[0].Value = objAttDtls.EmployeId;
                sqlParameter[1] = new SqlParameter("@Date", SqlDbType.Date);
                sqlParameter[1].Value = objAttDtls.Date;
                DataSet dataSet = new DataSet();
                dataSet = objDataAccess.GetDataSet("AttendenceDetails_SEL", sqlParameter);
                return dataSet;
            }
            catch (Exception ex)
            {
                objLoggingClass.WriteToErrorLog(ex.Message);
                throw ex;
            }
        }
 
        /// <summary>
        /// Method To Reterive Type Details and Bind it to Type Combobox.
        /// </summary>
        /// <returns></returns>
        public List<AttendenceDetailsEntities> GetTypes()
        {
            List<AttendenceDetailsEntities> objAttendenceDetailsEntitiesList = null;
            AttendenceDetailsEntities objAttendenceDetailsEntities = null;
 
            try
            {
                SqlParameter[] sqlParameter = new SqlParameter[0];
                DataSet typedataSet = new DataSet();
                typedataSet = objDataAccess.GetDataSet("Types_SEL", sqlParameter);
                if (typedataSet != null && typedataSet.Tables.Count > 0 && typedataSet.Tables[0].Rows.Count > 0)
                {
                    objAttendenceDetailsEntitiesList = new List<AttendenceDetailsEntities>();
                    //for a blank entry
                    objAttendenceDetailsEntities = new AttendenceDetailsEntities();
                    objAttendenceDetailsEntities.TypeId = 0;
                    objAttendenceDetailsEntities.TypeName = "";
                    objAttendenceDetailsEntitiesList.Add(objAttendenceDetailsEntities);
 
                    foreach (DataRow row in typedataSet.Tables[0].Rows)
                    {
                        objAttendenceDetailsEntities = new AttendenceDetailsEntities();
                        objAttendenceDetailsEntities.TypeId = Convert.ToInt32(row["TypeId"]);
                        objAttendenceDetailsEntities.TypeName = Convert.ToString(row["TypeName"]);
                        objAttendenceDetailsEntitiesList.Add(objAttendenceDetailsEntities);
                    }
                }
                return objAttendenceDetailsEntitiesList;
            }
            catch (Exception ex)
            {
                objLoggingClass.WriteToErrorLog(ex.Message);
                throw ex;
            }
        }
 
        /// <summary>
        /// Method To Reterive Employee Details and Bind it to Employee Combobox.
        /// </summary>
        /// <returns></returns>
        public List<AttendenceDetailsEntities> GetEmployeeName(AttendenceDetailsEntities objAttendenceDetailsEntities)
        {
            List<AttendenceDetailsEntities> objAttendenceDetailsEntitiesList = null;           
 
            try
            {
                SqlParameter[] sqlParameter = new SqlParameter[1];
                sqlParameter[0] = new SqlParameter("@Emp_ID", SqlDbType.NVarChar);
                sqlParameter[0].Value = objAttendenceDetailsEntities.EmployeId;
                DataSet typedataSet = new DataSet();
                typedataSet = objDataAccess.GetDataSet("Employee_SEL", sqlParameter);
                if (typedataSet != null && typedataSet.Tables.Count > 0 && typedataSet.Tables[0].Rows.Count > 0)
                {
                    objAttendenceDetailsEntitiesList = new List<AttendenceDetailsEntities>();
                    //for a blank entry
                    objAttendenceDetailsEntities = new AttendenceDetailsEntities();
                    objAttendenceDetailsEntities.EmployeId = "";
                    objAttendenceDetailsEntitiesList.Add(objAttendenceDetailsEntities);
 
                    foreach (DataRow row in typedataSet.Tables[0].Rows)
                    {
                        objAttendenceDetailsEntities = new AttendenceDetailsEntities();
                        objAttendenceDetailsEntities.EmployeId = Convert.ToString(row["Emp_ID"]);
                        objAttendenceDetailsEntitiesList.Add(objAttendenceDetailsEntities);
                    }
                }
                return objAttendenceDetailsEntitiesList;
 
            }
            catch (Exception ex)
            {
                objLoggingClass.WriteToErrorLog(ex.Message);
                throw ex;
            }
        }
        /// <summary>
        /// Method To Save Status Details To DataBase.
        /// </summary>
        /// <param name="objAttendenceDetailsEntities"></param>
        public void SaveStatusDetails(AttendenceDetailsEntities objAttendenceDetailsEntities)
        {
            try
            {
                SqlParameter[] sqlParameter = new SqlParameter[6];
                sqlParameter[0] = new SqlParameter("@EmpId", SqlDbType.VarChar);
                sqlParameter[0].Value = objAttendenceDetailsEntities.EmployeId;
                sqlParameter[1] = new SqlParameter("@Date", SqlDbType.Date);
                sqlParameter[1].Value = objAttendenceDetailsEntities.Date;
                sqlParameter[2] = new SqlParameter("@RequestComment", SqlDbType.VarChar);
                sqlParameter[2].Value = objAttendenceDetailsEntities.RequestComment;
                sqlParameter[3] = new SqlParameter("@ResponseComment", SqlDbType.VarChar);
                sqlParameter[3].Value = objAttendenceDetailsEntities.ResponseComment;
                sqlParameter[4] = new SqlParameter("@TypeId", SqlDbType.Int);
                sqlParameter[4].Value = objAttendenceDetailsEntities.TypeId;
                sqlParameter[5] = new SqlParameter("@Status", SqlDbType.VarChar);
                sqlParameter[5].Value = objAttendenceDetailsEntities.Status;
 
                objDataAccess.SaveData("Status_INS", sqlParameter);
            }
            catch (Exception ex)
            {
                objLoggingClass.WriteToErrorLog(ex.Message);
                throw ex;
            }
        }
    }
}
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="AttendenceDetails.ascx.cs"
    Inherits="AttendenceManagement.Controls.AttendenceDetailsGrid" %>
<%@ Register Assembly="Telerik.Web.UI" Namespace="Telerik.Web.UI" TagPrefix="telerik" %>
<link href="../CSS/AttendenceStyle.css" rel="stylesheet" type="text/css" />
<link href="../CSS/TelerikCustomSkins/Grid.css" rel="stylesheet" type="text/css" />
 
<script type="text/javascript">
    function stopPropagation(e) {
        e.cancelBubble = true;
 
        if (e.stopPropagation) {
            e.stopPropagation();
        }
    }
 
</script>
 
<div class="divMainContent">
    <div class="divPickerLabel">
        <div class="divPicker">
            <div class="divFromDate">
                <asp:Label ID="lblFromDate" runat="server" Text="From"></asp:Label>
                <telerik:RadDatePicker ID="rdpFrom" runat="server" CssClass="rtxtFromStyle" Width="125px">
                </telerik:RadDatePicker>
            </div>
            <div class="divToDate">
                <asp:Label ID="lblToDate" runat="server" Text="To">
                </asp:Label>
                <telerik:RadDatePicker ID="rdpTo" runat="server" CssClass="rtxtToStyle" Width="125px">
                </telerik:RadDatePicker>
            </div>
            <div class="divSelectEmployee">
                <asp:Label ID="lblSelectEmployee" runat="server" Text="Select Employee" Visible="True"></asp:Label>
                <telerik:RadComboBox ID="rcbxEmployee" runat="server" CssClass="rcbxEmployeeStyle"
                    HighlightTemplatedItems="true" Visible="True" Width="125px">
                    <ItemTemplate>
                        <asp:CheckBox ID="chkEmployee" runat="server" onclick="stopPropagation(event);" Text="" />
                        <%# DataBinder.Eval(Container,"Text")%>
                    </ItemTemplate>
                </telerik:RadComboBox>
                <telerik:RadButton ID="rbtnSelect" runat="server" Text="Select" OnClick="rbtnSelect_Click"
                    CssClass="rbtnSelectStyle">
                </telerik:RadButton>
            </div>
            <div class="divbtnSelect">
            </div>
        </div>
        <div class="divfromdatetodatelbl">
            <asp:Label ID="lblAttendenceDetaisFrom" runat="server" Text="Attendence Details From"></asp:Label>
            <asp:Label ID="lblFromdatewithyear" runat="server"></asp:Label>
            <asp:Label ID="lblTo" runat="server" Text="To"></asp:Label>
            <asp:Label ID="lblTodatewithyear" runat="server"></asp:Label>
        </div>
    </div>
    <div class="divlegend">
        <asp:Panel ID="pnllegend" runat="server" BackColor="Gray" Width="160px" Height="192px">
            <div class="divStatus">
                <telerik:RadTextBox ID="rtxtPresent" runat="server" Text="P" BackColor="White" Width="25px"
                    BorderStyle="None">
                </telerik:RadTextBox>
                <asp:Label ID="lblPresent" runat="server" Text="Present" ForeColor="White"></asp:Label></div>
            <div class="divStatus" style="position: relative; margin: 0px 0px 0px 5px;">
                <telerik:RadTextBox ID="rtxtLeave" runat="server" Text="L" BackColor="#FFFF99" Width="25px"
                    BorderStyle="None">
                </telerik:RadTextBox>
                <asp:Label ID="lblLeave" runat="server" Text="Leave" ForeColor="White"></asp:Label></div>
            <div class="divStatus">
                <telerik:RadTextBox ID="rtxtAbsent" runat="server" Text="A" BackColor="#C00000" Width="25px"
                    BorderStyle="None">
                </telerik:RadTextBox>
                <asp:Label ID="lblAbsent" runat="server" Text="Absent" ForeColor="White"></asp:Label></div>
            <div class="divStatus">
                <telerik:RadTextBox ID="rtxtHoliday" runat="server" Text="H" BackColor="#31849B"
                    Width="25px" BorderStyle="None">
                </telerik:RadTextBox>
                <asp:Label ID="lblHoilday" runat="server" Text="Holiday" ForeColor="White"></asp:Label></div>
            <div class="divStatus">
                <telerik:RadTextBox ID="rtxtCompoff" runat="server" Text="C" BackColor="#E6B9B8"
                    Width="25px" BorderStyle="None">
                </telerik:RadTextBox>
                <asp:Label ID="lblCompoff" runat="server" Text="CompOff" ForeColor="White"></asp:Label></div>
            <div class="divStatus">
                <telerik:RadTextBox ID="rtxtTemporaryId" runat="server" Text="T" BackColor="#538ED5"
                    Width="25px" BorderStyle="None">
                </telerik:RadTextBox>
                <asp:Label ID="lblTemporaryId" runat="server" Text="TemporaryId" ForeColor="White"></asp:Label>
            </div>
            <div class="divStatus">
                <telerik:RadTextBox ID="rtxtWorkFromHome" runat="server" Text="WH" BackColor="#33CC33"
                    Width="25px" BorderStyle="None">
                </telerik:RadTextBox>
                <asp:Label ID="lblWorkFromHome" runat="server" Text="WorkFromHome" ForeColor="White"></asp:Label>
            </div>
             <div class="divStatus">
                <telerik:RadTextBox ID="rtxtRegular" runat="server" Text="R" BackColor="#996633"
                    Width="25px" BorderStyle="None">
                </telerik:RadTextBox>
                <asp:Label ID="lblRegular" runat="server" Text="Regular" ForeColor="White"></asp:Label>
            </div>
        </asp:Panel>
    </div>
</div>
<div class="divrGrid">
    <telerik:RadGrid ID="rgAttendenceDetails" runat="server" GridLines="Both" AutoGenerateColumns="false"
        ShowHeader="true" ShowFooter="true" EnableEmbeddedSkins="false" OnItemCommand="rgAttendenceDetails_ItemCommand"
        OnItemDataBound="rgAttendenceDetails_ItemDataBound" Skin="Internal" CssClass="RadGridStyle">
        <HeaderStyle VerticalAlign="Middle" HorizontalAlign="Center" CssClass="RadGridStyle" />
        <MasterTableView AutoGenerateColumns="false" EnableNoRecordsTemplate="true" ShowHeadersWhenNoRecords="true"
            ShowHeader="true" ShowFooter="true" CssClass="RadGridStyle">
            <NoRecordsTemplate>
                <div>
                    <asp:Literal ID="ltlNoRecords" runat="server" Text="No Records"></asp:Literal>
                </div>
            </NoRecordsTemplate>
        </MasterTableView>
    </telerik:RadGrid>
</div>
<div>
    <telerik:RadWindowManager ID="rwmAttendenceDetails" runat="server" ShowContentDuringLoad="false"
        VisibleStatusbar="false" ReloadOnShow="true" Modal="true" VisibleTitlebar="false"
        Behaviors="Close" EnableViewState="false" EnableEmbeddedSkins="false">
        <Windows>
            <telerik:RadWindow ID="rwdAttendenceDetails" runat="server" ShowContentDuringLoad="true"
                VisibleStatusbar="false" Modal="true" EnableShadow="true" VisibleTitlebar="false"
                VisibleOnPageLoad="false" Behaviors="Close" Overlay="true" BorderWidth="0" BorderStyle="None"
                Height="500px" Width="800px">
                <ContentTemplate>
                    <asp:Panel ID="pnlWindow" runat="server">
                        <div class="divClose">
                            <telerik:RadButton ID="rbClose" runat="server" ButtonType="LinkButton" Text="Close"
                                OnClick="rbClose_Click">
                            </telerik:RadButton>
                        </div>
                        <div class="divlblAttendenceDetails">
                            <asp:Label ID="lblAttendenceDetails" runat="server" Text="My Attendence Details"></asp:Label>
                        </div>
                        <div class="divEmplyeeDetail">
                            <asp:Label ID="lblEmployeeName" runat="server" Text="Employee Name"></asp:Label>
                            <telerik:RadTextBox ID="rtxtEmployeeName" runat="server" CssClass="rtxtEmployeeNameStyle"
                                Width="160px">
                            </telerik:RadTextBox>
                            <asp:Label ID="lblDate" runat="server" Text="Date" CssClass="lblDateStyle"></asp:Label>
                            <telerik:RadTextBox ID="rtxtDate" runat="server" CssClass="rtbxDateStyle" Width="160px">
                            </telerik:RadTextBox>
                        </div>
                        <div class="divGrid">
                            <telerik:RadGrid ID="rgMyAttendenceDetails" runat="server" GridLines="None" AutoGenerateColumns="false"
                                ShowHeader="true" ShowFooter="true" EnableEmbeddedSkins="false" OnNeedDataSource="rgMyAttendenceDetails_NeedDataSource"
                                Skin="Internal" CssClass="RadGridStyle">
                                <HeaderStyle VerticalAlign="Middle" HorizontalAlign="Center" CssClass="RadGridStyle" />
                                <MasterTableView AutoGenerateColumns="false" EnableNoRecordsTemplate="true" ShowHeadersWhenNoRecords="true"
                                    ShowHeader="true" ShowFooter="true" CssClass="RadGridStyle">
                                    <NoRecordsTemplate>
                                        <div>
                                            <asp:Literal ID="ltlNoRecords" runat="server" Text="No Records"></asp:Literal>
                                        </div>
                                    </NoRecordsTemplate>
                                    <Columns>
                                        <telerik:GridBoundColumn HeaderText="PunchIn" DataField ="PunchIn">
                                        </telerik:GridBoundColumn>
                                        <telerik:GridBoundColumn HeaderText="PunchOut" DataField="PunchOut">
                                        </telerik:GridBoundColumn>
                                        <telerik:GridBoundColumn HeaderText="PunchIn2" DataField="PunchIn2">
                                        </telerik:GridBoundColumn>
                                        <telerik:GridBoundColumn HeaderText="PunchOut2" DataField="PunchOut2">
                                        </telerik:GridBoundColumn>
                                        <telerik:GridBoundColumn HeaderText="PunchIn3" DataField="PunchIn3">
                                        </telerik:GridBoundColumn>
                                        <telerik:GridBoundColumn HeaderText="PunchOut3" DataField="PunchOut3">
                                        </telerik:GridBoundColumn>
                                        <telerik:GridBoundColumn HeaderText="PunchIn4" DataField="PunchIn4">
                                        </telerik:GridBoundColumn>
                                        <telerik:GridBoundColumn HeaderText="PunchOut4" DataField="PunchOut4">
                                        </telerik:GridBoundColumn>
                                    </Columns>
                                </MasterTableView>
                            </telerik:RadGrid>
                            <asp:Label ID="lblDetails" runat="server" Visible="True"></asp:Label>
                        </div>
                        <div class="divComments">
                            <asp:Label ID="lblComments" runat="server" Text="Comments" Visible="true"></asp:Label>
                            <telerik:RadTextBox ID="rtbxComments" runat="server" Width="350px" Height="50px"
                                TextMode="MultiLine" MaxLength="300" CssClass="rtbxCommentsStyle" Visible="true">
                            </telerik:RadTextBox>
                        </div>
                        <div class="divType">
                            <asp:Label ID="lblType" runat="server" Text="Type" Visible="true"></asp:Label>
                            <telerik:RadComboBox ID="rcbxType" runat="server" CssClass="rcbxTypeStyle" Visible="true"
                                AutoPostBack="false" Width="125px">
                            </telerik:RadComboBox>
                        </div>
                        <div class="divbtn">
                            <telerik:RadButton ID="rbOk" runat="server" Text="Ok" ButtonType="StandardButton"
                                Width="75px" Visible="true" OnClick="rbOk_Click">
                            </telerik:RadButton>
                            <telerik:RadButton ID="rbSendMail" runat="server" Text="SendMail" ButtonType="StandardButton"
                                Width="75px" Visible="true" OnClick="rbSendMail_Click">
                            </telerik:RadButton>
                            <telerik:RadButton ID="rbApprove" runat="server" Text="Approve" ButtonType="StandardButton"
                                Width="75px" Visible="false">
                            </telerik:RadButton>
                            <telerik:RadButton ID="rbReject" runat="server" Text="Reject" ButtonType="StandardButton"
                                Width="75px" Visible="false">
                            </telerik:RadButton>
                        </div>
                    </asp:Panel>
                </ContentTemplate>
            </telerik:RadWindow>
        </Windows>
    </telerik:RadWindowManager>
</div>


Radoslav
Telerik team
 answered on 06 Nov 2012
Narrow your results
Selected tags
Tags
+? more
Top users last month
Boardy
Top achievements
Rank 2
Veteran
Iron
Benjamin
Top achievements
Rank 3
Bronze
Iron
Veteran
ivory
Top achievements
Rank 1
Iron
Iron
Rob
Top achievements
Rank 3
Bronze
Bronze
Iron
ClausDC
Top achievements
Rank 2
Iron
Iron
Iron
Want to show your ninja superpower to fellow developers?
Top users last month
Boardy
Top achievements
Rank 2
Veteran
Iron
Benjamin
Top achievements
Rank 3
Bronze
Iron
Veteran
ivory
Top achievements
Rank 1
Iron
Iron
Rob
Top achievements
Rank 3
Bronze
Bronze
Iron
ClausDC
Top achievements
Rank 2
Iron
Iron
Iron
Want to show your ninja superpower to fellow developers?
Want to show your ninja superpower to fellow developers?